OP
journeyman
Joined: Sep 2016
|
I'm trying to change the statuses that Braccus' set pieces apply on equip. Right now the current set of debuffs are Warm, Burning, Slowed, Diseased, and Cursed. Can anyone explain to me how FTJ_SW_BraccusArmorPieces.itemScript selects these? INIT ITEM:__Me EXTERN STATUS:%StatusToApply=null EXTERN INT:%bool_PlayADOnEquip=1 EXTERN STRING:%ADString="FTJ_SW_AD_Player_EquipBraccusArmorPiece" STRING:%ADSetComplete="FTJ_SW_AD_Player_CompleteBraccusArmor" STRING:%ArmorCompleteEvent="FTJ_SW_BraccusArmor_ArmorComplete" STRING:%ArmorUnequippedEvent="FTJ_SW_BraccusArmor_PieceUnequipped" CHARACTER: %MyWearer=null INT:%bool_ArmorComplete=0 LIST<ITEM>: %Pieces ITEM:%BraccusArmor_Arms=S_FTJ_SW_BraccusArmor_Arms_e21fb4cd-2b28-4eaa-a913-153be5f23bb9 ITEM:%BraccusArmor_Legs=S_FTJ_SW_BraccusArmor_Legs_0a4896d2-df6d-4c0c-bd79-60315fb77a96 ITEM:%BraccusArmor_Lowerbody=S_FTJ_SW_BraccusArmor_Lowerbody_3ef7e582-a813-40da-a0d4-17b49ee96712 ITEM:%BraccusArmor_Upperbody=S_FTJ_SW_BraccusArmor_Upperbody_3da52544-453d-4bd4-aa95-a2968cf6f647 ITEM:%BraccusArmor_Helm=S_FTJ_ARM_BraccusHelm_Uncured_9e30ecd5-ce72-49d6-a798-c20c8235dd77
// -------------------------------------------------------- EVENTS
/* Sometimes the values of the items are set to nullptr? When picked up? EVENT BraccusArmor_Init ON OnInit() OnLoaded(_,_,_,_) ACTIONS ListAdd(%Pieces,ITEM:S_FTJ_SW_BraccusArmor_Arms_e21fb4cd-2b28-4eaa-a913-153be5f23bb9) // index 1 ListAdd(%Pieces,ITEM:S_FTJ_SW_BraccusArmor_Legs_0a4896d2-df6d-4c0c-bd79-60315fb77a96) // index 2 ListAdd(%Pieces,ITEM:S_FTJ_SW_BraccusArmor_Lowerbody_3ef7e582-a813-40da-a0d4-17b49ee96712) // index 3 ListAdd(%Pieces,ITEM:S_FTJ_SW_BraccusArmor_Upperbody_3da52544-453d-4bd4-aa95-a2968cf6f647) // index 4 IF "c1" HasGlobalFlag("FTJ_BraccusAxeDemonSpawned") THEN ListAdd(%Pieces,ITEM:S_FTJ_ARM_BraccusHelm_Cured_92a963b6-d4e0-4dc6-a49d-8b0847bfb7f5) // index 5 ELSE ListAdd(%Pieces,ITEM:S_FTJ_ARM_BraccusHelm_Uncured_9e30ecd5-ce72-49d6-a798-c20c8235dd77) // index 5 ENDIF */
EVENT BraccusArmor_OnItemEquipped VARS CHARACTER:_NewWearer CHARACTER:_OtherWearer ITEM:_EquippedPiece //ITEM:_OtherPiece //INT:_ListSize //INT:_Index INT:_bool_DifferentFound ON OnItemEquipped(_NewWearer,__Me) ACTIONS Set(%MyWearer,_NewWearer) //Set(_Index,1) Set(_bool_DifferentFound,0)
//--- Check if set is complete /* IF "c1" ListGetSize(%Pieces,_ListSize) THEN //--- Looping over the pieces to check if all wearers are the same. WHILE "!c1&c2" IsGreaterThen(_Index,_ListSize) IsEqual(_bool_DifferentFound,0) DO IF "c1" ListGet(%Pieces,_Index,_OtherPiece) THEN //Assert("In loop - MyWearer: [1]; _OtherPiece: [2]",%MyWearer,_OtherPiece) IF "c1&!c2" GetVar(_OtherWearer,_OtherPiece,"MyWearer") IsEqual(_OtherWearer,%MyWearer) THEN Set(_bool_DifferentFound, 1) ENDIF ENDIF Add(_Index,1) ENDWHILE */ IF "c1&c2&!c3" IsEqual(_bool_DifferentFound, 0) GetVar(_OtherWearer,%BraccusArmor_Arms,"MyWearer") IsEqual(_OtherWearer,%MyWearer) THEN Set(_bool_DifferentFound, 1) ENDIF IF "c1&c2&!c3" IsEqual(_bool_DifferentFound, 0) GetVar(_OtherWearer,%BraccusArmor_Legs,"MyWearer") IsEqual(_OtherWearer,%MyWearer) THEN Set(_bool_DifferentFound, 1) ENDIF IF "c1&c2&!c3" IsEqual(_bool_DifferentFound, 0) GetVar(_OtherWearer,%BraccusArmor_Lowerbody,"MyWearer") IsEqual(_OtherWearer,%MyWearer) THEN Set(_bool_DifferentFound, 1) ENDIF IF "c1&c2&!c3" IsEqual(_bool_DifferentFound, 0) GetVar(_OtherWearer,%BraccusArmor_Upperbody,"MyWearer") IsEqual(_OtherWearer,%MyWearer) THEN Set(_bool_DifferentFound, 1) ENDIF IF "c1&c2&!c3" IsEqual(_bool_DifferentFound, 0) GetVar(_OtherWearer,%BraccusArmor_Helm,"MyWearer") IsEqual(_OtherWearer,%MyWearer) THEN Set(_bool_DifferentFound, 1) ENDIF IF "!c1" IsEqual(%StatusToApply, null) THEN AddStatusInfluence(%MyWearer,%StatusToApply,50,"",0) ENDIF //--- Applying or removing statuses IF "!c1" IsEqual(_bool_DifferentFound,1) THEN CharacterItemEvent(%MyWearer, __Me, %ArmorCompleteEvent) DialogStart(_,%ADSetComplete,%MyWearer) ELSE //AddStatusInfluence(%MyWearer,%StatusToApply,50,"",0) IF "c1&!c2" IsEqual(%bool_PlayADOnEquip,1) IsEqual(%ADString,null) THEN DialogStart(_,%ADString,%MyWearer) ENDIF ENDIF //ENDIF
EVENT BraccusArmor_OnItemUnequipped VARS CHARACTER:_Char ON OnItemUnequipped(_Char,__Me) ACTIONS CharacterItemEvent(%MyWearer,__Me,%ArmorUnequippedEvent)
EVENT BraccusArmor_ArmorCompleteEvent VARS CHARACTER:_Wearer ITEM:_EquippedPiece ON OnCharacterItemEvent(_Wearer,_EquippedPiece,%ArmorCompleteEvent) ACTIONS Set(%bool_ArmorComplete,1) IF "c1&!c2" IsEqual(%MyWearer,_Wearer) IsEqual(%StatusToApply, null) //IsEqual(_EquippedPiece,__Me) THEN RemoveStatusInfluence(%MyWearer,%StatusToApply,50,"",0) ENDIF
EVENT BraccusArmor_ArmorUnequippedEvent VARS CHARACTER:_OldWearer ITEM:_UnequippedPiece ON OnCharacterItemEvent(_OldWearer,_UnequippedPiece,%ArmorUnequippedEvent) ACTIONS IF "c1&!c2" IsEqual(_UnequippedPiece,__Me) IsEqual(%StatusToApply, null) THEN IF "c1" IsEqual(%bool_ArmorComplete,0) THEN RemoveStatusInfluence(%MyWearer,%StatusToApply,50,"",0) ENDIF Set(%MyWearer,null) ELIF "c1&!c2&c3" IsEqual(_OldWearer,%MyWearer) IsEqual(%StatusToApply, null) IsEqual(%bool_ArmorComplete,1) THEN AddStatusInfluence(%MyWearer,%StatusToApply,50,"",0) ENDIF Set(%bool_ArmorComplete,0) EVENT BraccusArmor_HelmetChange ON OnGlobalFlagSet("FTJ_BraccusAxeDemonSpawned") ACTIONS Set(%BraccusArmor_Helm, S_FTJ_ARM_BraccusHelm_Cured_92a963b6-d4e0-4dc6-a49d-8b0847bfb7f5) //ListRemove(%Pieces,5) // Remove Uncured version //ListAdd(%Pieces,ITEM:S_FTJ_ARM_BraccusHelm_Cured_92a963b6-d4e0-4dc6-a49d-8b0847bfb7f5)
|