Aion Gates
Would you like to react to this message? Create an account in a few clicks or log in to continue.

[SKILLS]Illusiongate work 100% [CLOSED]

3 posters

Go down

[SKILLS]Illusiongate work 100% [CLOSED] Empty [SKILLS]Illusiongate work 100% [CLOSED]

Post  AionChaos Tue 10 Aug - 21:08

Here is fix for Illusiongate.

Illusiongate.patch

AionChaos
Junior DP dev
Junior DP dev

Messages : 3
Date d'inscription : 2010-08-10

Back to top Go down

[SKILLS]Illusiongate work 100% [CLOSED] Empty Re: [SKILLS]Illusiongate work 100% [CLOSED]

Post  M@xx Tue 10 Aug - 22:24

thanks a lot i test the skill and if it work i move to the svn Wink
ok skill work 100%



Last edited by M@xx on Tue 31 Aug - 16:33; edited 1 time in total
M@xx
M@xx
Core dev
Core dev

Messages : 83
Date d'inscription : 2010-07-30

https://aiongates.forums-actifs.com

Back to top Go down

[SKILLS]Illusiongate work 100% [CLOSED] Empty Re: [SKILLS]Illusiongate work 100% [CLOSED]

Post  Bob razowski Tue 17 Aug - 3:50

post here no aion lighting

Bob razowski
Junior DP dev
Junior DP dev

Messages : 4
Date d'inscription : 2010-07-30

Back to top Go down

[SKILLS]Illusiongate work 100% [CLOSED] Empty illusion gates patch for aiongates [REV21]

Post  M@xx Mon 23 Aug - 12:24

Code:
Index: AE-go_GameServer/data/static_data/skills/skill_templates.xml
===================================================================
--- AE-go_GameServer/data/static_data/skills/skill_templates.xml    (revision 21)
+++ AE-go_GameServer/data/static_data/skills/skill_templates.xml    (working copy)
@@ -23315,9 +23315,9 @@
            <targetrange value="POINT" maxcount="1"/>
            <targetrelation value="FRIEND"/>
        </setproperties>
-        <useconditions>
-            <playermove allow="false"/>
-        </useconditions>
+        <effects>
+            <summongroupgate time="60" npc_id="749017" e="1" />
+        </effects>
        <actions>
            <mpuse value="383" delta="11"/>
        </actions>
@@ -23764,9 +23764,9 @@
            <targetrange value="POINT" maxcount="1"/>
            <targetrelation value="FRIEND"/>
        </setproperties>
-        <useconditions>
-            <playermove allow="false"/>
-        </useconditions>
+        <effects>
+            <summongroupgate time="60" npc_id="749083" e="1" />
+        </effects> 
        <actions>
            <mpuse value="383" delta="11"/>
        </actions>
Index: AE-go_GameServer/data/static_data/skills/skills.xsd
===================================================================
--- AE-go_GameServer/data/static_data/skills/skills.xsd    (revision 21)
+++ AE-go_GameServer/data/static_data/skills/skills.xsd    (working copy)
@@ -197,6 +197,8 @@
                minOccurs="0" maxOccurs="1" />
            <xs:element name="summontrap" type="SummonTrapEffect"
                minOccurs="0" maxOccurs="1" />
+            <xs:element name="summongroupgate" type="SummonGroupGateEffect"
+                minOccurs="0" maxOccurs="1" />
            <xs:element name="summonservant" type="SummonServantEffect"
                minOccurs="0" maxOccurs="1" />
            <xs:element name="skillatkdraininstant" type="SkillAtkDrainInstantEffect"
@@ -953,6 +955,14 @@
        </xs:complexContent>
    </xs:complexType>
   
+    <xs:complexType name="SummonGroupGateEffect">
+          <xs:complexContent>
+            <xs:extension base="SummonEffect">
+                <xs:attribute name="time" type="xs:int" />
+            </xs:extension>
+          </xs:complexContent>
+        </xs:complexType>
+   
    <xs:complexType name="SummonServantEffect">
        <xs:complexContent>
            <xs:extension base="SummonEffect">
Index: AE-go_GameServer/src/com/aionemu/gameserver/controllers/GroupGateController.java
===================================================================
--- AE-go_GameServer/src/com/aionemu/gameserver/controllers/GroupGateController.java    (revision 0)
+++ AE-go_GameServer/src/com/aionemu/gameserver/controllers/GroupGateController.java    (revision 0)
@@ -0,0 +1,77 @@
+/*
+          * This file is part of the requirements for the Illusion Gate Skill.
+          */
+        package com.aionemu.gameserver.controllers;
+         
+         
+        import com.aionemu.gameserver.model.gameobjects.Creature;
+        import com.aionemu.gameserver.model.gameobjects.GroupGate;
+        import com.aionemu.gameserver.model.gameobjects.player.Player;
+        import com.aionemu.gameserver.model.gameobjects.player.RequestResponseHandler;
+        import com.aionemu.gameserver.services.TeleportService;
+        import com.aionemu.gameserver.network.aion.serverpackets.SM_QUESTION_WINDOW;
+        import com.aionemu.gameserver.network.aion.serverpackets.SM_SYSTEM_MESSAGE;
+        import com.aionemu.gameserver.utils.PacketSendUtility;
+         
+        /**
+          * @author
+          */
+        public class GroupGateController extends NpcController
+        {
+             
+            @Override
+            public void onDialogRequest(Player player)
+            {
+                final GroupGate groupgate = (GroupGate)this.getOwner();
+                boolean isMember = false;
+                 
+                if(player.getObjectId() == ((Player)groupgate.getCreator()).getObjectId()) isMember = true;
+                 
+                if (player.isInGroup())
+                {
+                    for(Player member : player.getPlayerGroup().getMembers())
+                    {
+                        if (member.getObjectId() == ((Player)groupgate.getCreator()).getObjectId()) {
+                            isMember = true;
+                            break;
+                        }
+                    }
+                }
+                 
+                if (isMember)
+                {
+                    RequestResponseHandler responseHandler = new RequestResponseHandler(groupgate) {
+                         
+                        @Override
+                        public void acceptRequest(Creature requester, Player responder)
+                        {
+                            switch(groupgate.getNpcId())
+                            {
+                                case 749017:
+                                    TeleportService.teleportTo(responder, 110010000, 1, 1444.9f, 1577.2f, 572.9f, 0);
+                                    break;
+                                case 749083:
+                                    TeleportService.teleportTo(responder, 120010000, 1, 1657.5f, 1398.7f, 194.7f, 0);
+                                    break;
+                            }
+                        }
+             
+                        @Override
+                        public void denyRequest(Creature requester, Player responder)
+                        {
+                            // Nothing Happens
+                        }
+                    };
+                     
+                    boolean requested = player.getResponseRequester().putRequest(SM_QUESTION_WINDOW.STR_ASK_GROUP_GATE_DO_YOU_ACCEPT_MOVE, responseHandler);
+                    if (requested)
+                    {
+                        PacketSendUtility.sendPacket(player, new SM_QUESTION_WINDOW(SM_QUESTION_WINDOW.STR_ASK_GROUP_GATE_DO_YOU_ACCEPT_MOVE, player.getObjectId()));
+                    }
+                }
+                else 
+                {
+                    PacketSendUtility.sendPacket(player, SM_SYSTEM_MESSAGE.STR_CANNOT_USE_MAGIC_PASSAGE);
+                }
+            }
+        }
\ No newline at end of file
Index: AE-go_GameServer/src/com/aionemu/gameserver/controllers/PlayerController.java
===================================================================
--- AE-go_GameServer/src/com/aionemu/gameserver/controllers/PlayerController.java    (revision 21)
+++ AE-go_GameServer/src/com/aionemu/gameserver/controllers/PlayerController.java    (working copy)
@@ -31,6 +31,7 @@
 import com.aionemu.gameserver.model.gameobjects.Creature;
 import com.aionemu.gameserver.model.gameobjects.Gatherable;
 import com.aionemu.gameserver.model.gameobjects.Kisk;
+import com.aionemu.gameserver.model.gameobjects.GroupGate;
 import com.aionemu.gameserver.model.gameobjects.Npc;
 import com.aionemu.gameserver.model.gameobjects.StaticObject;
 import com.aionemu.gameserver.model.gameobjects.Summon;
@@ -119,6 +120,11 @@
            if (getOwner().getCommonData().getRace() == kisk.getOwnerRace())
                PacketSendUtility.sendPacket(getOwner(), new SM_KISK_UPDATE(kisk));
        }
+        else if (object instanceof GroupGate)
+        {
+            GroupGate groupgate = ((GroupGate) object);
+            PacketSendUtility.sendPacket(getOwner(), new SM_NPC_INFO(getOwner(), groupgate));
+        }
        else if(object instanceof Npc)
        {
            boolean update = false;
Index: AE-go_GameServer/src/com/aionemu/gameserver/model/gameobjects/GroupGate.java
===================================================================
--- AE-go_GameServer/src/com/aionemu/gameserver/model/gameobjects/GroupGate.java    (revision 0)
+++ AE-go_GameServer/src/com/aionemu/gameserver/model/gameobjects/GroupGate.java    (revision 0)
@@ -0,0 +1,90 @@
+ /*
+          * This file is part of the requirements for the Illusion Gate Skill.
+          * Code References from ATracer's Trap.java of Aion-Unique
+          */
+        package com.aionemu.gameserver.model.gameobjects;
+         
+        import com.aionemu.gameserver.controllers.NpcController;
+        import com.aionemu.gameserver.model.gameobjects.player.Player;
+        import com.aionemu.gameserver.model.templates.VisibleObjectTemplate;
+        import com.aionemu.gameserver.model.templates.spawn.SpawnTemplate;
+         
+        /**
+          * @author LokiReborn
+          *
+          */
+        public class GroupGate extends Npc
+        {
+         
+            /**
+              * Creator of this GroupGate.
+              */
+            private Creature creator;
+             
+            /**
+              * 
+              * @param objId
+              * @param controller
+              * @param spawnTemplate
+              * @param objectTemplate
+              */
+            public GroupGate(int objId, NpcController controller, SpawnTemplate spawnTemplate, VisibleObjectTemplate objectTemplate)
+            {
+                super(objId, controller, spawnTemplate, objectTemplate);
+            }
+         
+            /**
+              * @return the creator
+              */
+            public Creature getCreator()
+            {
+                return creator;
+            }
+         
+            /**
+              * @param creator the creator to set
+              */
+            public void setCreator(Creature creator)
+            {
+                this.creator = creator;
+            }
+             
+            @Override
+            public byte getLevel()
+            {
+                return (1);
+            }
+             
+            @Override
+            protected boolean isEnemyNpc(Npc visibleObject)
+            {
+                return this.creator.isEnemyNpc(visibleObject);
+            }
+         
+            @Override
+            protected boolean isEnemyPlayer(Player visibleObject)
+            {
+                return this.creator.isEnemyPlayer(visibleObject);
+            }
+             
+            /**
+              * @return NpcObjectType.GROUPGATE
+              */
+            @Override
+            public NpcObjectType getNpcObjectType()
+            {
+                return NpcObjectType.GROUPGATE;
+            }
+         
+            @Override
+            public Creature getActingCreature()
+            {
+                return this.creator;
+            }
+         
+            @Override
+            public Creature getMaster()
+            {
+                return this.creator;
+            }
+        }
\ No newline at end of file
Index: AE-go_GameServer/src/com/aionemu/gameserver/model/gameobjects/NpcObjectType.java
===================================================================
--- AE-go_GameServer/src/com/aionemu/gameserver/model/gameobjects/NpcObjectType.java    (revision 21)
+++ AE-go_GameServer/src/com/aionemu/gameserver/model/gameobjects/NpcObjectType.java    (working copy)
@@ -25,6 +25,7 @@
    NORMAL(1),
    SUMMON(2),
    TRAP(32),
+    GROUPGATE(256),
    SERVANT(1024);
   
    private NpcObjectType(int id)
Index: AE-go_GameServer/src/com/aionemu/gameserver/network/aion/serverpackets/SM_NPC_INFO.java
===================================================================
--- AE-go_GameServer/src/com/aionemu/gameserver/network/aion/serverpackets/SM_NPC_INFO.java    (revision 21)
+++ AE-go_GameServer/src/com/aionemu/gameserver/network/aion/serverpackets/SM_NPC_INFO.java    (working copy)
@@ -21,6 +21,7 @@
 
 import com.aionemu.gameserver.model.NpcType;
 import com.aionemu.gameserver.model.gameobjects.Creature;
+import com.aionemu.gameserver.model.gameobjects.GroupGate;
 import com.aionemu.gameserver.model.gameobjects.Kisk;
 import com.aionemu.gameserver.model.gameobjects.Npc;
 import com.aionemu.gameserver.model.gameobjects.Summon;
@@ -91,7 +92,28 @@
    }
   
    /**
-    *
+    *
+    * @param player
+      * @param groupgate - the visible npc.
+      */
+        public SM_NPC_INFO(Player player, GroupGate groupgate)
+            {
+            this.npc = groupgate;
+            npcTypeId = (groupgate.isAggroFrom(player) ?
+                NpcType.ATTACKABLE.getId() : NpcType.NON_ATTACKABLE.getId());
+            npcTemplate = groupgate.getObjectTemplate();
+            npcId = groupgate.getNpcId();
+                 
+            Player owner = (Player)groupgate.getCreator();
+                if(owner != null)
+                {
+                    masterObjId = owner.getObjectId();
+                    masterName = owner.getName();
+                }
+            }
+             
+    /**
+    *
      * @param summon
      */
    public SM_NPC_INFO(Summon summon)
Index: AE-go_GameServer/src/com/aionemu/gameserver/network/aion/serverpackets/SM_SYSTEM_MESSAGE.java
===================================================================
--- AE-go_GameServer/src/com/aionemu/gameserver/network/aion/serverpackets/SM_SYSTEM_MESSAGE.java    (revision 21)
+++ AE-go_GameServer/src/com/aionemu/gameserver/network/aion/serverpackets/SM_SYSTEM_MESSAGE.java    (working copy)
@@ -1383,7 +1383,7 @@
    public static final SM_SYSTEM_MESSAGE    STR_BINDSTONE_ALREADY_REGISTERED        = new SM_SYSTEM_MESSAGE(1390161);
    public static final SM_SYSTEM_MESSAGE  STR_BINDSTONE_IS_ATTACKED            = new SM_SYSTEM_MESSAGE(1390166);
    public static final SM_SYSTEM_MESSAGE    STR_CANNOT_REGISTER_BINDSTONE_FULL        = new SM_SYSTEM_MESSAGE(1400247);
-
+    public static final SM_SYSTEM_MESSAGE  STR_CANNOT_USE_MAGIC_PASSAGE        = new SM_SYSTEM_MESSAGE(1300150);
    /***
      *  fusion/break  Weapons
      *  - Master,wylovech
Index: AE-go_GameServer/src/com/aionemu/gameserver/spawnengine/SpawnEngine.java
===================================================================
--- AE-go_GameServer/src/com/aionemu/gameserver/spawnengine/SpawnEngine.java    (revision 21)
+++ AE-go_GameServer/src/com/aionemu/gameserver/spawnengine/SpawnEngine.java    (working copy)
@@ -25,6 +25,7 @@
 import com.aionemu.gameserver.controllers.FortressGeneralController;
 import com.aionemu.gameserver.controllers.GatherableController;
 import com.aionemu.gameserver.controllers.KiskController;
+import com.aionemu.gameserver.controllers.GroupGateController;
 import com.aionemu.gameserver.controllers.MonsterController;
 import com.aionemu.gameserver.controllers.NpcController;
 import com.aionemu.gameserver.controllers.PortalController;
@@ -44,6 +45,7 @@
 import com.aionemu.gameserver.model.gameobjects.Servant;
 import com.aionemu.gameserver.model.gameobjects.Summon;
 import com.aionemu.gameserver.model.gameobjects.Trap;
+import com.aionemu.gameserver.model.gameobjects.GroupGate;
 import com.aionemu.gameserver.model.gameobjects.VisibleObject;
 import com.aionemu.gameserver.model.gameobjects.player.Player;
 import com.aionemu.gameserver.model.templates.GatherableTemplate;
@@ -105,7 +107,7 @@
            template = DataManager.GATHERABLE_DATA.getGatherableTemplate(objectId);
            if(template == null)
                return null;
-            gatherableCounter++;
+            gatherableCounter;
        }
        else
        // npc
@@ -113,7 +115,7 @@
            template = npcData.getNpcTemplate(objectId);
            if(template == null)
                return null;
-            npcCounter++;
+            npcCounter;
        }
        IDFactory iDFactory = IDFactory.getInstance();
        if(template instanceof NpcTemplate)
@@ -207,11 +209,32 @@
   
   
    /**
+    *
      * @param spawn
      * @param instanceIndex
      * @param creator
      * @return
      */
+      public GroupGate spawnGroupGate(SpawnTemplate spawn, int instanceIndex, Creature creator)
+          {
+                int objectId = spawn.getSpawnGroup().getNpcid();
+            NpcTemplate npcTemplate = DataManager.NPC_DATA.getNpcTemplate(objectId);
+                GroupGate groupgate = new GroupGate(IDFactory.getInstance().nextId(), new GroupGateController(), spawn,
+                    npcTemplate);
+                groupgate.setKnownlist(new StaticObjectKnownList(groupgate));
+            groupgate.setEffectController(new EffectController(groupgate));
+                groupgate.setCreator(creator);
+            groupgate.getController().onRespawn();
+                bringIntoWorld(groupgate, spawn, instanceIndex);
+            return groupgate;
+            }
+         
+            /**
+              * @param spawn
+              * @param instanceIndex
+              * @param creator
+              * @return
+              */
    public Kisk spawnKisk(SpawnTemplate spawn, int instanceIndex, Player creator)
    {
        int npcId = spawn.getSpawnGroup().getNpcid();
@@ -268,7 +291,7 @@
        SpawnTemplate spawn = createSpawnTemplate(worldId, npcId, x, y, z, heading, 0, 0);
        NpcTemplate npcTemplate = DataManager.NPC_DATA.getNpcTemplate(npcId);
       
-        byte level = (byte) (npcTemplate.getLevel() + skillLvl - 1);
+        byte level = (byte) (npcTemplate.getLevel()  skillLvl - 1);
        SummonStatsTemplate statsTemplate = DataManager.SUMMON_STATS_DATA.getSummonTemplate(npcId, level);
        Summon summon = new Summon(IDFactory.getInstance().nextId(), new SummonController(), spawn,
            npcTemplate, statsTemplate, level);
@@ -387,14 +410,14 @@
            final int mapId = worldMapTemplate.getMapId();
            int numberToSpawn = maxTwin > 0 ? maxTwin : 1;
 
-            for(int i = 1; i <= numberToSpawn; i++)
+            for(int i = 1; i <= numberToSpawn; i)
            {
                spawnInstance(mapId, i);
            }
        }
 
-        log.info("Loaded " + npcCounter + " npc spawns");
-        log.info("Loaded " + gatherableCounter + " gatherable spawns");
+        log.info("Loaded "  npcCounter  " npc spawns");
+        log.info("Loaded "  gatherableCounter  " gatherable spawns");
 
        RiftSpawnManager.startRiftPool();
    }
@@ -419,11 +442,11 @@
            if(spawnGroup.getHandler() == null)
            {
                int pool = spawnGroup.getPool();
-                for(int i = 0; i < pool; i++)
+                for(int i = 0; i < pool; i)
                {
                    spawnObject(spawnGroup.getNextAvailableTemplate(instanceIndex), instanceIndex);
 
-                    instanceSpawnCounter++;
+                    instanceSpawnCounter;
                }
            }
            else
@@ -440,7 +463,7 @@
                }
            }
        }
-        log.info("Spawned " + worldId + " [" + instanceIndex + "] : " + instanceSpawnCounter);
+        log.info("Spawned "  worldId  " ["  instanceIndex  "] : "  instanceSpawnCounter);
    }
   
    @SuppressWarnings("synthetic-access")
M@xx
M@xx
Core dev
Core dev

Messages : 83
Date d'inscription : 2010-07-30

https://aiongates.forums-actifs.com

Back to top Go down

[SKILLS]Illusiongate work 100% [CLOSED] Empty Re: [SKILLS]Illusiongate work 100% [CLOSED]

Post  Sponsored content


Sponsored content


Back to top Go down

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum