Secret Experience

Secret Experience (https://secretexperience.net/index.php)
-   [Lineage] Java Mods (https://secretexperience.net/forumdisplay.php?f=636)
-   -   [L2JServer] Offensive and Defensive Mods (https://secretexperience.net/showthread.php?t=31255)

allanalcantara 09-05-2011 12:36 AM

Offensive and Defensive Mods
 
2 Anexo(s)
informação basica do mod, de como ele funciona ...
"offensive", - digitando isso o player fica com status offesive ...
"defensive", - || || || || fica com status defensive ...
"normal", - e normal já sabe fica normal. ^^' :D

CORE:
Código:

### Eclipse Workspace Patch 1.0
#P L2_GameServer
Index: java/com/l2jserver/Config.java
===================================================================
--- java/com/l2jserver/Config.java        (revision 3813)
+++ java/com/l2jserver/Config.java        (working copy)
@@ -647,6 +659,14 @@
        public static boolean ANNOUNCE_PK_PVP_NORMAL_MESSAGE;
        public static String ANNOUNCE_PK_MSG;
        public static String ANNOUNCE_PVP_MSG;
+  public static boolean ALLOW_SPECIAL_VOICED_COMMANDS;
 
        //--------------------------------------------------
        // NPC Settings
@@ -2135,6 +2178,8 @@
                                        ANNOUNCE_PK_MSG = L2JModSettings.getProperty("AnnouncePkMsg", "$killer has slaughtered $target");
                                        ANNOUNCE_PVP_MSG = L2JModSettings.getProperty("AnnouncePvpMsg", "$killer has defeated $target");
                                       
+                  ALLOW_SPECIAL_VOICED_COMMANDS = Boolean.parseBoolean(L2JModSettings.getProperty("AllowSpecialVoicedCommands", "False"));
+                                       
                                }
                                catch (Exception e)
                                {
Index: java/config/l2jmods.properties
===================================================================
--- java/config/l2jmods.properties        (revision 3813)
+++ java/config/l2jmods.properties        (working copy)
@@ -319,4 +350,61 @@
 
 # Pvp message template
 # variables: $killer, $target
-AnnouncePvpMsg = $killer has defeated $target
\ No newline at end of file
+AnnouncePvpMsg = $killer has defeated $target
+# ---------------------------------------------------------------------------
+# Special Commands
+# ---------------------------------------------------------------------------
+# Allow Special commands?
+# Usage: .offensive, .defensive, .normal
+# Offensive: +20% P/M.Atk -20% P/M.Def
+# Defensive: -20% P/M.Atk +20% P/M.Def
+# Normal: Back to normal mode.
+# Default: False
+AllowSpecialVoicedCommands = False       
\ No newline at end of file

DP:
Código:

### Eclipse Workspace Patch 1.0
#P datapack_development
Index: data/stats/skills/9000-9099.xml
===================================================================
--- data/stats/skills/9000-9099.xml        (revision 6891)
+++ data/stats/skills/9000-9099.xml        (working copy)
@@ -226,4 +226,30 @@
                <set name="skillType" val="NOTDONE" />
                <set name="operateType" val="OP_PASSIVE" />
        </skill>
+        <skill id="9098" levels="1" name="Offensive">
+            <set name="target" val="TARGET_SELF" />
+            <set name="skillType" val="CONT" />
+            <set name="operateType" val="OP_TOGGLE" />
+            <for>
+            <effect name="Buff" time="144000" val="0" noicon="1">
+            <mul order="0x30" stat="pAtk" val="1.20" />
+            <mul order="0x30" stat="mAtk" val="1.20" />
+            <mul order="0x30" stat="pDef" val="0.80" />
+            <mul order="0x30" stat="mDef" val="0.80" />
+            </effect>
+            </for>
+        </skill>
+        <skill id="9099" levels="1" name="Defensive">
+            <set name="target" val="TARGET_SELF" />
+            <set name="skillType" val="CONT" />
+            <set name="operateType" val="OP_TOGGLE" />
+            <for>
+            <effect name="Buff" time="144000" val="0" noicon="1">
+            <mul order="0x30" stat="pAtk" val="0.80" />
+            <mul order="0x30" stat="mAtk" val="0.80" />
+            <mul order="0x30" stat="pDef" val="1.20" />
+            <mul order="0x30" stat="mDef" val="1.20" />
+            </effect>
+            </for>
+          </skill>
 </list>
\ No newline at end of file
Index: data/scripts/handlers/MasterHandler.java
===================================================================
--- data/scripts/handlers/MasterHandler.java        (revision 6891)
+++ data/scripts/handlers/MasterHandler.java        (working copy)
@@ -225,12 +227,18 @@
        private static void loadVoicedHandlers()
        {
                VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new stats());
                if (Config.L2JMOD_ALLOW_WEDDING)
                        VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new Wedding());
                if (Config.BANKING_SYSTEM_ENABLED)
                        VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new Banking());
                if (Config.TVT_ALLOW_VOICED_COMMAND)
                        VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new TvTVoicedInfo());
+                if (Config.ALLOW_SPECIAL_VOICED_COMMANDS)
+                          VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new SpecialVoiced());
                _log.config("Loaded " + VoicedCommandHandler.getInstance().size() + " VoicedHandlers");
        }
       
Index: data/scripts/handlers/voicedcommandhandlers/SpecialVoiced.java
===================================================================
--- data/scripts/handlers/voicedcommandhandlers/SpecialVoiced.java        (revision 0)
+++ data/scripts/handlers/voicedcommandhandlers/SpecialVoiced.java        (revision 0)
@@ -0,0 +1,67 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package handlers.voicedcommandhandlers;
+
+import com.l2jserver.gameserver.datatables.SkillTable;
+import com.l2jserver.gameserver.handler.IVoicedCommandHandler;
+import com.l2jserver.gameserver.model.L2Effect;
+import com.l2jserver.gameserver.model.L2Skill;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+
+public class SpecialVoiced implements IVoicedCommandHandler
+{
+        private static final String[] VOICED_COMMANDS = {
+                "offensive",
+                "defensive",
+                "normal"
+        };
+
+        public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
+        {
+                if (command.equalsIgnoreCase("offensive"))
+                {
+                        activeChar.stopSkillEffects(9098);
+                        L2Skill offensiveSkill = SkillTable.getInstance().getInfo(9098, 1);
+                        activeChar.doSimultaneousCast(offensiveSkill);
+                        activeChar.sendMessage("You are in offensive mode.");
+                }
+                else if (command.equalsIgnoreCase("defensive"))
+                {
+                        activeChar.stopSkillEffects(9099);
+                        L2Skill deffensiveSkill = SkillTable.getInstance().getInfo(9099, 1);
+                        activeChar.doSimultaneousCast(deffensiveSkill);
+                        activeChar.sendMessage("You are in defensive mode.");
+                }
+                else if (command.equalsIgnoreCase("normal"))
+                {
+                        if (activeChar != null)
+                        {
+                                L2Effect[] effects = activeChar.getAllEffects();
+
+                                for (L2Effect e : effects) {
+                                        if ((e != null) && (e.getSkill().getId() == 9098) || (e.getSkill().getId() == 9099))
+                                                e.exit();
+                                }
+                                activeChar.sendMessage("You are in normal mode.");
+                        }
+                }
+                return true;
+        }
+
+        public String[] getVoicedCommandList()
+        {
+                return VOICED_COMMANDS;
+        }
+}
\ No newline at end of file

[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
(para add nas diffs, basta sómente modificar o .txt para .diff )

Créditos: MX


Horários baseados na GMT -3. Agora são 12:55 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.