-
Posts
4 -
Credits
0 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Posts posted by BossAndForever
-
-
Delete me
-
Code was done by Wyatt, only adapted to aCis.Testing and working.
### Eclipse Workspace Patch 1.0
#P GameServer_Acis
Index: java/net/sf/l2j/gameserver/handler/itemhandlers/SpiritShot.java
===================================================================
--- java/net/sf/l2j/gameserver/handler/itemhandlers/SpiritShot.java (revision 26)
+++ java/net/sf/l2j/gameserver/handler/itemhandlers/SpiritShot.java (working copy)
@@ -14,11 +14,15 @@
*/
package net.sf.l2j.gameserver.handler.itemhandlers;
+import java.util.logging.Level;
+
+import net.sf.l2j.customs.AutoShots.ItemGrade;
import net.sf.l2j.gameserver.handler.IItemHandler;
import net.sf.l2j.gameserver.model.L2ItemInstance;
import net.sf.l2j.gameserver.model.ShotType;
import net.sf.l2j.gameserver.model.actor.L2Playable;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.model.holder.SkillHolder;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse;
import net.sf.l2j.gameserver.templates.item.L2Weapon;
@@ -44,9 +48,38 @@
final L2PcInstance activeChar = (L2PcInstance) playable;
final L2ItemInstance weaponInst = activeChar.getActiveWeaponInstance();
+
+ if ((activeChar.getAutoShots() != null))
+ {
+ if (weaponInst != null)
+ {
+ ItemGrade grade = ItemGrade.values()[weaponInst.getItem().getItemGrade()];
+ item = new L2ItemInstance(0, grade.getBlessedSpiritshot());
+ }
+ else if (item == null)
+ {
+ return;
+ }
+ }
+
final L2Weapon weaponItem = activeChar.getActiveWeaponItem();
+ final SkillHolder[] skills = item.getItem().getSkills();
final int itemId = item.getItemId();
+ if (skills == null)
+ {
+ _log.log(Level.WARNING, getClass().getSimpleName() + ": is missing skills!");
+ return;
+ }
+
+ if ((activeChar.getAutoShots() != null) && (weaponInst != null))
+ {
+ activeChar.setChargedShot(ShotType.SPIRITSHOT, true);
+ activeChar.sendPacket(SystemMessageId.ENABLED_SPIRITSHOT);
+ Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
+ return;
+ }
+
// Check if sps can be used
if (weaponInst == null || weaponItem.getSpiritShotCount() == 0)
{
Index: java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java
===================================================================
--- java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java (revision 26)
+++ java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java (working copy)
@@ -18,6 +18,7 @@
import java.util.Date;
import net.sf.l2j.Config;
+import net.sf.l2j.customs.AutoShots;
import net.sf.l2j.gameserver.Announcements;
import net.sf.l2j.gameserver.GameTimeController;
import net.sf.l2j.gameserver.SevenSigns;
@@ -172,7 +173,9 @@
// engage and notify Partner
if (Config.ALLOW_WEDDING)
engage(activeChar);
-
+
+ new AutoShots(activeChar);
+
final ipCatcher ipc = new ipCatcher();
if(ipc.isCatched(activeChar))
activeChar.logout();
Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 26)
+++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy)
@@ -40,6 +40,7 @@
import net.sf.l2j.Config;
import net.sf.l2j.L2DatabaseFactory;
+import net.sf.l2j.customs.AutoShots;
import net.sf.l2j.gameserver.Announcements;
import net.sf.l2j.gameserver.GameTimeController;
import net.sf.l2j.gameserver.GeoData;
@@ -1891,6 +1892,11 @@
int slot = getInventory().getSlotFromItem(item);
items = getInventory().unEquipItemInBodySlotAndRecord(slot);
+
+ if (getAutoShots() != null)
+ {
+ _activeSoulShots.clear();
+ }
}
else
{
@@ -1906,7 +1912,15 @@
sendPacket(sm);
if ((item.getItem().getBodyPart() & L2Item.SLOT_ALLWEAPON) != 0)
+ {
+ if (getAutoShots() != null)
+ {
+ _activeSoulShots.clear();
+ getAutoShots().updateAutoShots(this);
+ }
+
rechargeShots(true, true);
+ }
}
else
sendPacket(SystemMessageId.CANNOT_EQUIP_ITEM_DUE_TO_BAD_CONDITION);
@@ -7991,8 +8005,18 @@
for (int itemId : _activeSoulShots)
{
L2ItemInstance item = getInventory().getItemByItemId(itemId);
- if (item != null)
+ if (getAutoShots() != null)
+ {
+ L2ItemInstance shot = new L2ItemInstance(0, ItemTable.getInstance().getTemplate(itemId));
+ IItemHandler handler= ItemHandler.getInstance().getItemHandler(shot.getEtcItem());
+
+ if (handler != null)
+ {
+ handler.useItem(this, item, false);
+ }
+ }
+ else if (item != null)
+ {
if (magic && item.getItem().getDefaultAction() == L2ActionType.spiritshot)
{
IItemHandler handler = ItemHandler.getInstance().getItemHandler(item.getEtcItem());
@@ -11347,7 +11371,19 @@
player.sendPacket(new RelationChanged(getPet(), getRelation(player), isAutoAttackable(player)));
}
}
-
+
+ private AutoShots _autoshotss;
+
+ public AutoShots getAutoShots()
+ {
+ return _autoshotss;
+ }
+
+ public void setAutoShots(AutoShots _shot)
+ {
+ _autoshotss = _shot;
+ }
+
@Override
public void sendInfo(L2PcInstance activeChar)
{
Index: java/net/sf/l2j/gameserver/templates/item/L2Item.java
===================================================================
--- java/net/sf/l2j/gameserver/templates/item/L2Item.java (revision 26)
+++ java/net/sf/l2j/gameserver/templates/item/L2Item.java (working copy)
@@ -690,6 +690,17 @@
}
/**
+ * Returns the grade of the item.<BR><BR>
+ * <U><I>Concept :</I></U><BR>
+ * In fact, this fucntion returns the type of crystal of the item.
+ * @return int
+ */
+ public final int getItemGrade()
+ {
+ return getCrystalType();
+ }
+
+ /**
* Returns the name of the item
* @return String
*/
Index: java/net/sf/l2j/gameserver/handler/itemhandlers/SoulShots.java
===================================================================
--- java/net/sf/l2j/gameserver/handler/itemhandlers/SoulShots.java (revision 26)
+++ java/net/sf/l2j/gameserver/handler/itemhandlers/SoulShots.java (working copy)
@@ -14,11 +14,15 @@
*/
package net.sf.l2j.gameserver.handler.itemhandlers;
+import java.util.logging.Level;
+
+import net.sf.l2j.customs.AutoShots.ItemGrade;
import net.sf.l2j.gameserver.handler.IItemHandler;
import net.sf.l2j.gameserver.model.L2ItemInstance;
import net.sf.l2j.gameserver.model.ShotType;
import net.sf.l2j.gameserver.model.actor.L2Playable;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.model.holder.SkillHolder;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse;
import net.sf.l2j.gameserver.templates.item.L2Weapon;
@@ -45,9 +49,38 @@
final L2PcInstance activeChar = (L2PcInstance) playable;
final L2ItemInstance weaponInst = activeChar.getActiveWeaponInstance();
+
+ if (activeChar.getAutoShots() != null)
+ {
+ if (weaponInst != null)
+ {
+ ItemGrade grade = ItemGrade.values()[weaponInst.getItem().getItemGrade()];
+ item = new L2ItemInstance(0, grade.getSoulshot());
+ }
+ else if (item == null)
+ {
+ return;
+ }
+ }
+
final L2Weapon weaponItem = activeChar.getActiveWeaponItem();
final int itemId = item.getItemId();
+ final SkillHolder[] skills = item.getItem().getSkills();
+ if (skills == null)
+ {
+ _log.log(Level.WARNING, getClass().getSimpleName() + ": is missing skills!");
+ return;
+ }
+
+ if ((activeChar.getAutoShots() != null) && (weaponInst != null))
+ {
+ weaponInst.setChargedShot(ShotType.SOULSHOT, true);
+ activeChar.sendPacket(SystemMessageId.ENABLED_SOULSHOT);
+ Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
+ return;
+ }
+
// Check if soulshot can be used
if (weaponInst == null || weaponItem.getSoulShotCount() == 0)
{
Index: java/net/sf/l2j/customs/AutoShots.java
===================================================================
--- java/net/sf/l2j/customs/AutoShots.java (revision 0)
+++ java/net/sf/l2j/customs/AutoShots.java (working copy)
@@ -0,0 +1,64 @@
+package net.sf.l2j.customs;
+
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+
+/**
+ * @author Wyatt
+ * @Adapted for Interlude BossForever
+ */
+
+public class AutoShots
+{
+ public AutoShots(L2PcInstance activeChar)
+ {
+ updateAutoShots(activeChar);
+ activeChar.setAutoShots(this);
+ activeChar.rechargeShots(true, true);
+ }
+
+ public void updateAutoShots(L2PcInstance activeChar)
+ {
+ if (getItem(activeChar) != null)
+ {
+ activeChar.addAutoSoulShot(getItem(activeChar).getSoulshot());
+ activeChar.addAutoSoulShot(getItem(activeChar).getBlessedSpiritshot());
+ }
+ }
+
+ public static ItemGrade getItem(L2PcInstance activeChar)
+ {
+ if (activeChar.getActiveWeaponItem() != null)
+ {
+ return ItemGrade.values()[activeChar.getActiveWeaponItem().getItemGrade()];
+ }
+ return ItemGrade.values()[0];
+ }
+
+ public enum ItemGrade
+ {
+ NOGRADE(1835, 2509),
+ D(1463, 2510),
+ C(1464, 2511),
+ B(1465, 2512),
+ A(1466, 2513),
+ S(1467, 2514);
+
+ private int soulshot;
+ private int blessedspiritshot;
+
+ private ItemGrade(int soulshot_id, int blessedspirit_id)
+ {
+ soulshot = soulshot_id;
+ blessedspiritshot = blessedspirit_id;
+ }
+
+ public int getSoulshot()
+ {
+ return soulshot;
+ }
+
+ public int getBlessedSpiritshot()
+ {
+ return blessedspiritshot;
+ }
+ }
+}
\ No newline at end of file
Index: java/net/sf/l2j/gameserver/model/actor/L2Character.java
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/L2Character.java (revision 26)
+++ java/net/sf/l2j/gameserver/model/actor/L2Character.java (working copy)
@@ -656,7 +656,7 @@
if (this instanceof L2PcInstance)
{
// Equip arrows needed in left hand and send ItemList to the L2PcINstance then return True
- if (!checkAndEquipArrows())
+ if ((((L2PcInstance) this).getAutoShots() == null) && !checkAndEquipArrows())
{
// Cancel the action because the L2PcInstance have no arrow
getAI().setIntention(CtrlIntention.IDLE);
-
L2jNewbie Gracia Final Project
Hello, I present my project Gracia Final I'm working at a time, contains few commits, still more already has many good and interesting.Also ask for the collaboration of anyone wishing to help, SVN will be released for those who want to help. Come on corrections and updates.Projetc Info
Base L2jServer
Fixs and Updates.
Update Libs Removed folder geodata & pathnode of CORE Moved folder geodata & pathnode for Datapack Announcements is moved. HellBound Removed Folder AI2 New AI: Antharas Baium Core Orfen Valakas Instances: ChamberOfDelusionEast Kamaloka Hellbound (Bernarde, Budenka, Buron, Celtus, Deltuva, SteelCitadel, Solomon, and others) Update CrystalCaverns Update DarkCloudMansion Disciple HideoutoftheDawn Pailaka RimKamaloka SeedOfDestruction: MutationDrak SeedOfDestruction SoDEnergySeeds SeedOfInfinity: DefenceHallOfSurffering HallOfSuffering GraciaSeeds Sailren Config to: QueenAnt Zaken PinsAndPouchUnseal Fix SQL Gracia Seeds Organized Grandboss.properties Adding resources to XML Fix GSRegister Imports Access Level to XML Summon Items to XML Fix Boss Return Libs Beleth AI Sailren is Fixed Frintezza AI Update grandboss_data Folder to Grandbosses Baylor AI Lindvior AI BanditStrongholdSiege DevastetedCastle FortressOfDead FortressOfResistance WillBeastFarmSiege Gustav Hallate HellMans Nurka Fix Scripts.cfg Walking Manager Credits for Team Fix Walker Routes Fix Configs to Devasted Castle NoblesseTeleport.java HitBonus Remove Aio e Vip Fix Walker Routes Mudando IsOnline == 1 para IsOnline() Fix Database_installer Mudando Lib trove Fix 2 warning Fix RequestEnchantItem Return isOnline == Fix Trade ElrokiTeleporters to Java Q001_LettersOfLove Q002_WhatWomenWant Q004_LongLiveThePaagrioLord All teleports in java HBDoor to Java HBTraitor to Java MoonlightStone to Java Quest 1,2,3,4,5,6 and 7 Quests 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30 and 10268 Chiristmas Engine Zones Fix Quest Clean up CTF Skills 81+ Quests 31 e 33 NonTalkingNpcs to Java FortuneTelling to Java PurchaseBracelet to Java Fixs in CTF Up Folder instancemanager L2DawnPriestInstance L2DuskPriestInstance Clean in Build.xml Nottingale to Java Deltuva to Java Fix HBTraitor Quest GoodDayToFly to Java Allow Santa Hat On New Characters Saving Santa Q10267_JourneyToGracia SquashEvent CharacterBirthday MasterofEnchanting Fixs Htmls Quests Q155_FindSirWindawood Q313_CollectSpores Q324_SweetestVenom Q364_JovialAccordion Gracia Seeds Update Fix AIS Beleth AI New Quests to Java GlobalVariablesManager Q130_PathToHellbound Q692_HowtoOpposeEvil SteelCitadelTeleport Fixs Commit Previous Fix in Hellbound and Quests Q133_ThatsBloodyHot Fix Warning in AdminEventEngine AdminHellbound Hellbound Voiced Command Quests 287 and 288 Fix htmls Fix Zones
Revision 42Quest 250 & 423
SummonItemsData to XML
Fix XML summon_items.xml
Revision 43Q147_PathtoBecominganEliteMercenary
Q148_PathtoBecominganExaltedMercenary
Q179_IntoTheLargeCavern
Q182_NewRecruitsRevision 44
Q109_InSearchOfTheNest
Q124_MeetingTheElroki
Q125_TheNameOfEvil1
Q126_TheNameOfEvil2
Q192_SevenSignsSeriesOfDoubt
Q193_SevenSignsDyingMessage
Q194_SevenSignsMammonsContract
Q195_SevenSignsSecretRitualOfThePriests
Q196_SevenSignsSealOfTheEmperor
Q197_SevenSignsTheSacredBookOfSeal
Q198_SevenSignsEmbryoRevision 45
Q10282_ToTheSeedOfAnnihilation
Q452_FindingtheLostSoldiers
Q453_NotStrongEnoughAloneRevision 46
Q10291_FireDragonDestroyer
Q702_ATrapForRevenge
Q279_TargetOfOpportunity
Q146_TheZeroHour
Q251_NoSecrets
Q252_ItSmellsDelicious
Q278_HomeSecurity
Q289_NoMoreSoupForYou
Q290_ThreatRemoval
Q641_AttackSailren
Q690_JudeRequest
Q694_BreakThroughTheHallOfSuffering
Q699_GuardianOfTheSkies
Q700_CursedLife
Q701_ProofOfExistence
BaseTower py to Java
BuffOnRange
RespawnOnAttack
RetreatOnAttack
SkillLvlOnAttack
VarkaKetraAlly
#Monsters
AncientEgg
BodyDestroyer
CatsEyeBandit
Chests
Chimeras
DarkWaterDragon
OlMahumGeneral
Sandstorm
TimakOrcOverlord
TimakOrcTroopLeader
TurekOrcFootman
TurekOrcSupplier
TurekOrcWarlord
ZombieGatekeepers
Folder created to RaidBoss
#RaidBoss
Aenkinel
DrChaos
Epidos
Gordon
Gustav
Hallate
HellMans
IceFairySirra
Keltas
Lematan
Nurka
OutpostCaptain
Ranku
SinWardens
Trex
Typhoon
#Zones
IsleOfPrayer
FrozenLabyrinth
PlainsOfDion
PlainsOfLizardman
PavelArchaic[
#Npcs
FleeNpc
HellboundCore
MercenaryCaptain
SearchingMaster
Shadai
StarStones
SummonMinions
WharfPatrol
#Instance
SeedOfImmortality
SpellBook to XML
Clean Up
Rename configs
Olympiad config create
Rename Olympiad to OlympiadSave
MultiFunctionZoneRevision 47
IsOnline
Revision 48
RaidBoss Demon Prince
Q032_AnObviousLie
Q034_InSearchOfCloth
Q035_FindGlitteringJewelry
Q036_MakeASewingKit
Q037_MakeFormalWear
Q038_DragonFangs
Q039_RedEyedInvaders
Q042_HelpTheUncle
Q043_HelpTheSister
Q044_HelpTheSon
Q045_ToTalkingIsland
Q046_OnceMoreInTheArmsOfTheMotherTree
Q047_IntoTheDarkForest
Q048_ToTheImmortalPlateau
Q049_TheRoadHome
Q050_LanoscosSpecialBait
Q051_OFullesSpecialBait
Q052_WilliesSpecialBait
Q053_LinnaeusSpecialBait
Down codes in HBTraitor fileL2jNewbie Revision 48 + Backup (15,05 MB)
[Acis] Frintezza
in Request Server Development Help [L2J]
Posted · Edited by BossAndForever
Hello guys, okay?
Well, I'm trying to solve some of Frintezza's problems for aCis, I wanted to ask your help to solve these problems. Some of the problems are with room 2, that the mobs do not spawn properly and the cameras are not working and Frintezza does not play the music and does not appear.
Frintezza
Thanks if you can help.