Maenara
Dec 21, 2015, 09:40 PM
Nothing too interesting this time around, but we have:
pet_dog_a:
[spoiler-box]lua à- y- ` pet_dog_a.ini.lua LuaQ m JÀ Š ‰ÀÀ‰ A‚‰@Á‚‰€Aƒ‰ÀÁƒ‰ÀA„‰ÀÁ„‰€B…I€ Š@ Ê
ÁC‡ ADˆÉ †
Á ʼn ÅŠ E‹É ‰É Ƌɀƌ‰À †I€€…I ÇI ÅŽIÀG¤ I€ ¤@ I€€¤€ I€ ‘¤À I€€‘¤ I€ ’¤@ I€€’¤€ I€ “¤À I€€“¤ I€ ”¤@ I€ ƒ¤€ I€€ƒ¤À I€€”¤ I€ •Š€ ä@ ‰À –ä€ ‰À€–äÀ ‰À —ä ‰À€—ä@ ‰À ˜ä€ ‰À€˜äÀ ‰À ™ä ‰À€™ä@ ‰À šä€ ‰À€šäÀ ‰À ›ä ‰À€›ä@ ‰À œä€ ‰À€œäÀ ‰À ä ‰À€ä@ ‰À žä€ ‰À€žäÀ ‰À Ÿä ‰À€ŸI€€•Š Á@ ¢@ I€ *¤@ I€€*¤€ I€ ¡ @€€ € C Ai PetDogA Mode Appear Escape Die Peace Attack
AttackObject Escort Patrol SearchCollision Sight_01
Collision Shape Sphere Radius B Offset X Y Z Type Sight Active NEED_APPROACH_DIST €@ PET_FOLLOW PET_FREE €? GetPetHomePosition GetParentMaxDist GetParentDist GetParentToTargetDist CalcPetMode
PetMode_FREE PetMode_FOLLOW Approach IsAcceptableOrder OnCancel IsEnableAtkContinue OnOrder
SUMMONER_PA1
SUMMONER_PA2
SUMMONER_PA3
SUMMONER_PA4
SUMMONER_PA5 SUMMONER_ATKORDER_IN_LOCK SUMMONER_ATKORDER_OUT_LOCK SUMMONER_ATKORDER_IN_POS SUMMONER_ATKORDER_OUT_POS
Wandering
FollowParent
AttackNormal AutoAttack AtkN1 AtkN2 AtkN3
AtkPa5Return AtkNC
OnTargetDead OnTargetRegionDead DebugFunction Test_Pa5 Test_AtkCombo # % )
E F@À € Á€ \ Á@@ €€ À €À €@ Þ € Ai GetNodeOffsetPosition AI_HomeOffset GetParentOffsetPosition . 1 E F@À € Á€ \ ž € Ai GetNodeOffsetPosition AI_Range 4 : E F@À € \ @@ Í
΂
‚M‚BE FÁŒ‚] ^ € Ai GetParentPosition GetPosition math sqrt > D E F@À € \ @@ Í
΂
‚M‚BE FÁŒ‚] ^ € Ai GetParentPosition GetTargetPosition math sqrt H Y 4 E F@À € Á€ \€€Z@ € €E FÀÀ F Á … †À@† AÅ ÆÀÀÆ@Á Ü€ A@ E FÁÀFÁÁ@ €E FÁÀF€ À€ \ € €À€E FÁÀFA€ À€ \ € €E F€ Á \A ž € Ai GetVariable petmode PetDogA PET_FOLLOW GetParentToTargetDist TargetPointDistance PET_FREE
PetMode_FREE PetMode_FOLLOW SetVariable \ g " Å Æ@À Ü€ @@ €€Ú@ € Á@A@ € Á@AA € Á@A À € Á@A € Ai
IsTargetDead
HasTarget PetDogA GetParentMaxDist PET_FREE PET_FOLLOW j x + Å Æ@À Ü€ @@ À€Ú@ @€ Á@@ €A €A W ‚€€E FÁ€ Á B \A E FÁÁFÂ^ €E FÁÁFAÂ^ À € ÁAAB €
Ai
IsTargetDead
HasTarget GetVariable
isAtkTrigger SetVariable PetDogA PET_FREE PET_FOLLOW z ƒ # E FBÀ€€ \‚ X@ €‚B ‚€ Å Æ‚À € Ü… †Ã@À€ @€œƒ Å ÆÁ € @ ÜC€Å ÆCÁ @€ € À€ @€€ À€ÜC€ € Ai TargetPointDistance GetTargetPosition
ToVector3 SetDash Approach † ‰
E F@À € \€ X@ €‚@ ‚ € ž € Ai GetHpRatio Œ Ž … †@@À € A Á œ@€ € Ai AddSubState
FollowParent ‘ µ „ … †@@À € œ€€Å ÆÀÀÜ€€ A€ € AA@€ Á A AA@€ Á À€A AA@€ Á A AA@€ A Å ÆÂÆÁÂA AA@€ Á A AA@€ A Á A € C@ €€ A€ ÁC@€ Å ÆÄ € @ €€À Ü€ÚA À€Å ÆAÀ € A Ü€ÚA €Á Å ÆAÀ € A Ü€ÚA €Á Àˆ €‚ A B E@ €€ Å ÆBÅ @€€ Ü B BA@€ Á‚ B € ‚B‚E@€ ‚ E F‚ÂFÂÂ@À€E FÂÅ€ À€ ƒ A \B€€€E FÂÅ€ À€ ƒ AC \B€ € Ai GetVariable rule GetTotalDeltaTime SetVariable cool back petmode PetDogA PET_FOLLOW
unpasablecnt
isAtkTrigger UnlockTargetPoint GetParentPosition IsLinePassable ÈB print tranport to parent
Transport
ToVector3 CalcPetMode AddSubState
FollowParent
AttackNormal ¸ » … †@@À € œ@€…€ ÁÀ œ@ € Ai UnlockTargetPoint print
Ai CANCEL ¾ Î . E F@À € \€ … †€@À œ€ Å ÆÀÀÆ ÁÀ€ €š@ €€Å ÆÀÀÆ@Á Ü€ Á@A@ € €€ €€Á A €€UA €€ÅÀ A @€ AÜ@ Â Þ €
Ai TargetPointDistance
IsTargetDead PetDogA NEED_APPROACH_DIST GetParentDist GetParentMaxDist print
ParentDist:
TargetDist: Ñ Ö A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetDogA IsAcceptableOrder PetDo AtkPa1 × Ü A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetDogA IsAcceptableOrder PetDo AtkPa2 Ý â A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetDogA IsAcceptableOrder PetDo AtkPa3 ã è A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetDogA IsAcceptableOrder PetDo AtkPa4 é ï A@@€ A @Á@@€ € A@ €€ ÁA A A@ €€ ÁÁ A€ € Ai ClearState PetDogA IsAcceptableOrder PetDo AtkPa5Begin AddSubState
AtkPa5Return ð ÿ
* AA A Á@@€ Å ÆÁ @€€ Ü ‚ BA@€ B ‚ ‚A@ €€ À€€ B€‚ ÂA@ €€ Á B ‚ BB@ €€ B€‚ ‚B@€  Á B €
print ATTACK TARGET ORDER: IN LOCK Ai GetTargetPosition
ToVector3 ClearState LockTargetPoint PetDo WaitForCancel UnlockTargetPoint SetVariable
isAtkTrigger €?
0 AA A Á@@€ Å ÆÁ @€€ Ü ‚ BA@€ B ‚ ‚A@ €€ À€€ B€‚ ÂA@ €€ Á B ‚ ÂA@ €€ ÁB B ‚ ÂA@ €€ Á‚ B ‚ ÂB@ €€ B€ € print ATTACK TARGET ORDER: OUT LOCK Ai GetTargetPosition
ToVector3 ClearState LockTargetPoint PetDo WaitForMotionCancel UnreachApproach AtkN1U UnlockTargetPoint "
0 AA A Á@@€ Å ÆÁ @€€ Ü ‚ BA@€ B ‚ ‚A@ €€ À€€ B€‚ ÂA@ €€ Á B ‚ ÂA@ €€ ÁB B ‚ ÂA@ €€ Á‚ B ‚ ÂB@ €€ B€ € print ATTACK TARGET ORDER: IN POS Ai GetTargetPosition
ToVector3 ClearState LockTargetPoint PetDo WaitForMotionCancel UnreachApproach AtkN1U UnlockTargetPoint # 3
0 AA A Á@@€ Å ÆÁ @€€ Ü ‚ BA@€ B ‚ ‚A@ €€ À€€ B€‚ ÂA@ €€ Á B ‚ ÂA@ €€ ÁB B ‚ ÂA@ €€ Á‚ B ‚ ÂB@ €€ B€ € print ATTACK TARGET ORDER: OUT POS Ai GetTargetPosition
ToVector3 ClearState LockTargetPoint PetDo WaitForMotionCancel UnreachApproach AtkN1U UnlockTargetPoint 6 ? = A@@€ Å ÆÀ @€€ Á ܅ †BAÀ€ œB€… †‚AÀ € E FÃÁ€€À €\ƒ … †BÁC „ œƒ€Áà € B€ œB … †CÀ € E FÂC Áƒ \€œB … †‚CÁ à œ‚€ D€€… †BDÀ € Aƒ ‚€ œB€ € Ai GetPosition & GetTargetRandomPositionFromEnemyPoint *@ pA SetDash Move
ToVector3 GetRandomF @ @@ Wait €?
GetRandom ÈB *A PetDo Grooming B N ) A@@€ Å ÆÀÆÁÀ € Ü À‚ €XÀ‚ €B € ŒAE FÂÁ€€ À \B€E F€ À€ CB@ €€À ƒ E FƒÂƒ Áà \ƒ€ € € \B €
Ai GetParentPosition PetDogA GetParentDist €@ A @ SetDash Move
ToVector3 GetRandomF @@ €? Q \
A@@€ ‚ A€ @@€ E FÁÀFÁ @€E FAÁ€ À€ ‚ \A E FÁÁ€ À€ AB \A€ €
Ai SetDash TargetPointDistance PetDogA NEED_APPROACH_DIST PetDo Approach AddSubState AutoAttack _ h
A@@€ E FÀFÁÀ@ €E FÁ€ À€ B A‚ \A€E FÁ€ À€ B A \A€E FÁ€ À€ B A \A€ € Ai TargetPointDistance PetDogA NEED_APPROACH_DIST AddPetCancelableSubState AtkN1 AtkN2 AtkN3 k o A@@@€ @€ Á@@ €€ Á A € Ai PetDogA IsEnableAtkContinue PetDo AtkN1 q u A@@@€ @€ Á@@ €€ Á A € Ai PetDogA IsEnableAtkContinue PetDo AtkN2 w { A@@@€ @€ Á@@ €€ Á A € Ai PetDogA IsEnableAtkContinue PetDo AtkN3 } ƒ A@@@€ Å ÆÁÀ @€ … †AÀ €@ œ‚ € ÜA€Å ÆAÁ @€ ‚ ÜA Å ÆÁÁ @€ ÜA€ € Ai PetDogA GetPetHomePosition LockTargetPoint
ToVector3 Attack
AtkPa5Return UnlockTargetPoint ‡ * : A@@€ E FÀ€€ ÁÁ \€… †@À€ œ€Å ÆÀ € AB Ü€€AÀ€ÀA@€ B@€ Å ÆB @€€ Ü‚ ÃÁAƒ € UƒƒÃ C@ €Ã €Ã ÅC „ @€DÜC Å ÆÃÃÆÄ @€ €€À€ ÜC € Ai TargetPointDistance GetVariable ComboNum ComboEnable ComboAction @ €? GetTargetCenter
ToVector3 AtkNC @@ print ComboAtkName: Common ComboAttack £ § AA A Á@@€ A A@€ A Å ÆÁÆÁÁA € print target is Dead Ai ClearState SetVariable petmode PetDogA PET_FOLLOW ª ® AA A Á@@€ A A@€ A Å ÆÁÆÁÁA € print target region is Dead Ai ClearState SetVariable petmode PetDogA PET_FOLLOW ¸ » … †@@À € A œ@ … †À@À € A A œ@€ € Ai PetDo AtkPa5Begin AddSubState
AtkPa5Return ½ Á … †@@À € œ E FÀ€ À€ \ … †Á@†AÀ € @€B œA€ € Ai GetTargetCenter
ToVector3 Common AttackCombo AtkNC1 [/spoiler-box]
pet_bird_b:
[spoiler-box]lua p$ $ ` pet_bird_b.ini.lua LuaQ d JÀ Š ‰ÀÀ‰ A‚‰@Á‚‰€Aƒ‰ÀÁƒ‰ÀA„‰ÀÁ„‰€B…I€ Š@ Ê
ÁC‡ ADˆÉ †
Á ʼn ÅŠ E‹É ‰É Ƌɀƌ‰À †I€€…I ÇI ÅŽIÀG¤ I€ ¤@ I€€¤€ I€ ‘¤À I€€‘¤ I€ ’¤@ I€€’¤€ I€ “¤À I€€“¤ I€ ƒ¤@ I€€ƒ¤€ I€ ”¤À I€€”¤ I€ •Š@ ä@ ‰À –ä€ ‰À€–äÀ ‰À —ä ‰À€—ä@ ‰À ˜ä€ ‰À€˜äÀ ‰À ™ä ‰À€™ä@ ‰À šä€ ‰À€šäÀ ‰À ›ä ‰À€›ä@ ‰À œä€ ‰À€œäÀ ‰À ä ‰À€ä@ ‰À žI€€•Š € Á€ ¢@€ I€€ž¤€ I€ Ÿ @€€ € ? Ai PetBirdB Mode Appear Escape Die Peace Attack
AttackObject Escort Patrol SearchCollision Sight_01
Collision Shape Sphere Radius B Offset X Y Z Type Sight Active NEED_APPROACH_DIST €@ PET_FOLLOW PET_FREE €? GetParentMaxDist GetPetHomePosition GetParentDist GetParentToTargetDist CalcPetMode
PetMode_FREE PetMode_FOLLOW IsAcceptableOrder OnCancel IsEnableAtkContinue DeaultAtkOrder OnOrder
SUMMONER_PA1
SUMMONER_PA2
SUMMONER_PA3
SUMMONER_PA4
SUMMONER_PA5 SUMMONER_ATKORDER_IN_LOCK SUMMONER_ATKORDER_OUT_LOCK SUMMONER_ATKORDER_IN_POS SUMMONER_ATKORDER_OUT_POS
FollowParent
AttackNormal AutoAttack AtkN1 AtkN2 AtkN3
OnTargetDead OnTargetRegionDead DebugFunction Test_Pa4 " % E F@À € Á€ \ ž € Ai GetNodeOffsetPosition AI_Range ( ,
E F@À € Á€ \ Á@@ €€ À €À €@ Þ € Ai GetNodeOffsetPosition AI_HomeOffset GetParentOffsetPosition 1 7 E F@À € \ @@ Í
΂
‚M‚BE FÁŒ‚] ^ € Ai GetParentPosition GetPosition math sqrt ; A E F@À € \ @@ Í
΂
‚M‚BE FÁŒ‚] ^ € Ai GetParentPosition GetTargetPosition math sqrt J [ 4 E F@À € Á€ \€€Z@ € €E FÀÀ F Á … †À@† AÅ ÆÀÀÆ@Á Ü€ A@ E FÁÀFÁÁ@ €E FÁÀF€ À€ \ € €À€E FÁÀFA€ À€ \ € €E F€ Á \A ž € Ai GetVariable petmode PetBirdB PET_FOLLOW GetParentToTargetDist TargetPointDistance PET_FREE
PetMode_FREE PetMode_FOLLOW SetVariable ^ i " Å Æ@À Ü€ @@ €€Ú@ € Á@A@ € Á@AA € Á@A À € Á@A € Ai
IsTargetDead
HasTarget PetBirdB GetParentMaxDist PET_FREE PET_FOLLOW l z + Å Æ@À Ü€ @@ À€Ú@ @€ Á@@ €A €A W ‚€€E FÁ€ Á B \A E FÁÁFÂ^ €E FÁÁFAÂ^ À € ÁAAB €
Ai
IsTargetDead
HasTarget GetVariable
isAtkTrigger SetVariable PetBirdB PET_FREE PET_FOLLOW „
E F@À € \€ X@ €‚@ ‚ € ž € Ai GetHpRatio ‡ ‰ … †@@À € A Á œ@€ € Ai AddSubState
FollowParent Œ ± „ … †@@À € œ€€Å ÆÀÀÜ€€ A€ € AA@€ Á A AA@€ Á À€A AA@€ Á A AA@€ A Å ÆÂÆÁÂA AA@€ Á A AA@€ A Á A € C@ €€ A€ ÁC@€ Å ÆÄ € @ €€À Ü€ÚA À€Å ÆAÀ € A Ü€ÚA €Á Å ÆAÀ € A Ü€ÚA €Á Àˆ €‚ A B E@ €€ Å ÆBÅ @€€ Ü B BA@€ Á‚ B € ‚B‚E@€ ‚ E F‚ÂFÂÂ@À€E FÂÅ€ À€ ƒ A \B€€€E FÂÅ€ À€ ƒ AC \B€ € Ai GetVariable rule GetTotalDeltaTime SetVariable cool back petmode PetBirdB PET_FOLLOW
unpasablecnt
isAtkTrigger UnlockTargetPoint GetParentPosition IsLinePassable ÈB print tranport to parent
Transport
ToVector3 CalcPetMode AddSubState
FollowParent
AttackNormal ´ · … †@@À € œ@€…€ ÁÀ œ@ € Ai UnlockTargetPoint print
Ai CANCEL º Ê . E F@À € \€ … †€@À œ€ Å ÆÀÀÆ ÁÀ€ €š@ €€Å ÆÀÀÆ@Á Ü€ Á@A@ € €€ €€Á A €€UA €€ÅÀ A @€ AÜ@ Â Þ €
Ai TargetPointDistance
IsTargetDead PetBirdB NEED_APPROACH_DIST GetParentDist GetParentMaxDist print
ParentDist:
TargetDist: Í Û - … †@@À € œ E FÀ€ À€ \ … †Á@À€ œA … †AÀ € @€‚€ œA€… †AAÀ € A‚ œA … †AAÀ € A œA … †AAÀ € A œA … †ABÀ € œA€ €
Ai GetTargetPosition
ToVector3 ClearState LockTargetPoint PetDo WaitForMotionCancel UnreachApproach AtkN1U UnlockTargetPoint ß ä A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetBirdB IsAcceptableOrder PetDo AtkPa1 å ê A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetBirdB IsAcceptableOrder PetDo AtkPa2 ë ð A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetBirdB IsAcceptableOrder PetDo AtkPa3 ñ ÷ A@@€ A @Á@@€ À€ A@ €€ ÁA A A@ €€ Á A € Ai ClearState PetBirdB IsAcceptableOrder PetDo AtkPa4Begin AtkPa4 ø ý A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetBirdB IsAcceptableOrder PetDo AtkPa5 ÿ
* AA A Á@@€ Å ÆÁ @€€ Ü ‚ BA@€ B ‚ ‚A@ €€ À€€ B€‚ ÂA@ €€ Á B ‚ BB@ €€ B€‚ ‚B@€  Á B €
print ATTACK TARGET ORDER: IN LOCK Ai GetTargetPosition
ToVector3 ClearState LockTargetPoint PetDo WaitForCancel UnlockTargetPoint SetVariable
isAtkTrigger €?
AA A Á@A@ €€ A€ € print ATTACK TARGET ORDER: OUT LOCK Ai PetBirdB DeaultAtkOrder
AA A Á@A@ €€ A€ € print ATTACK TARGET ORDER: IN POS Ai PetBirdB DeaultAtkOrder
AA A Á@A@ €€ A€ € print ATTACK TARGET ORDER: OUT POS Ai PetBirdB DeaultAtkOrder * - A@@€ Å ÆÀÆÁÀ € Ü À‚ €XÀ‚ €B € E F‚ÀF‚Á€€ \ ÃA@€ ‚ C€ B@ €€ Å ÆC €@ €€Üƒ „BAÄ „€AD ‚€ € C € Ai GetParentPosition PetBirdB GetParentDist €@ A GetPetHomePosition SetDash Move
ToVector3 GetRandomF @ @@ €? - 4 A@@€ ‚ A€ @@ €€ ÁÁ A A@ €€ ÁA ‚ A€ € Ai SetDash PetDo Approach AddSubState AutoAttack 7 >
A@@€ E FÀFÁÀ@ €E FÁ€ À€ B A‚ \A€E FÁ€ À€ B A \A€E FÁ€ À€ B A \A€ € Ai TargetPointDistance PetBirdB NEED_APPROACH_DIST AddPetCancelableSubState AtkN1 AtkN2 AtkN3 A E A@@@€ @€ Á@@ €€ Á A € Ai PetBirdB IsEnableAtkContinue PetDo AtkN1 G K A@@@€ @€ Á@@ €€ Á A € Ai PetBirdB IsEnableAtkContinue PetDo AtkN2 M Q A@@@€ @€ Á@@ €€ Á A € Ai PetBirdB IsEnableAtkContinue PetDo AtkN3 T X AA A Á@@€ A A@€ A Å ÆÁÆÁÁA € print target is Dead Ai ClearState SetVariable petmode PetBirdB PET_FOLLOW [ _ AA A Á@@€ A A@€ A Å ÆÁÆÁÁA € print target region is Dead Ai ClearState SetVariable petmode PetBirdB PET_FOLLOW h k
… †@@À € A œ@ … †@@À € AÁ œ@ € Ai PetDo AtkPa4Begin AtkPa4 [/spoiler-box]
pet_wiz_c:
[spoiler-box]lua ) *( ` pet_wiz_c.ini.lua LuaQ j J@ Š ‰ÀÀ‰ A‚‰@Á‚‰€Aƒ‰ÀÁƒ‰ÀA„‰ÀÁ„‰€B…I€ Š@ Ê
ÁC‡ ADˆÉ †
Á ʼn ÅŠ E‹É ‰É Ƌɀƌ‰À †I€€…I ÇI ÅŽIÀG¤ I€ ¤@ I€€¤€ I€ ‘¤À I€€‘¤ I€ ’¤@ I€€’¤€ I€ “¤À I€€“¤ I€ ƒ¤@ I€€ƒ¤€ I€ ”¤À I€€”¤ I€ •¤@ I€€•¤€ I€ –¤À I€€–¤ I€ —Š ä@ ‰À ˜ä€ ‰À€˜äÀ ‰À ™ä ‰À€™ä@ ‰À šä€ ‰À€šäÀ ‰À ›ä ‰À€›ä@ ‰À œä€ ‰À€œäÀ ‰À ä ‰À€ä@ ‰À žä€ ‰À€žäÀ ‰À Ÿä ‰À€ŸI€€—Š € Á@ ¢@€ I€ *¤@ I€€* @€€ € B Ai PetWizC Mode Appear Escape Die Peace Attack
AttackObject Escort Patrol SearchCollision Sight_01
Collision Shape Sphere Radius B Offset X Y Z Type Sight Active NEED_APPROACH_DIST pA PET_FOLLOW PET_FREE €? GetParentMaxDist GetPetHomePosition GetParentDist GetParentToTargetDist CalcPetMode
PetMode_FREE PetMode_FOLLOW IsAcceptableOrder OnCancel IsEnableAtkContinue $ GetBetweenTargetToParentPositionXYZ # GetBetweenTargetToParentPositionXZ ! GetBetweenTargetToParentPosition ResetAtkPosition DefaultAttackOrderProcess OnOrder
SUMMONER_PA1
SUMMONER_PA2
SUMMONER_PA3
SUMMONER_PA4
SUMMONER_PA5 SUMMONER_ATKORDER_IN_LOCK SUMMONER_ATKORDER_OUT_LOCK SUMMONER_ATKORDER_IN_POS SUMMONER_ATKORDER_OUT_POS
FollowParent
AttackNormal AutoAttack AtkN1 AtkN2
OnTargetDead OnTargetRegionDead DebugFunction Test_Pa4 " " % E F@À € Á€ \ ž € Ai GetNodeOffsetPosition AI_Range ) -
E F@À € Á€ \ Á@@ €€ À €À €@ Þ € Ai GetNodeOffsetPosition AI_HomeOffset GetParentOffsetPosition 2 8 E F@À € \ @@ Í
΂
‚M‚BE FÁŒ‚] ^ € Ai GetParentPosition GetPosition math sqrt < B E F@À € \ @@ Í
΂
‚M‚BE FÁŒ‚] ^ € Ai GetParentPosition GetTargetPosition math sqrt K \ 4 E F@À € Á€ \€€Z@ € €E FÀÀ F Á … †À@† AÅ ÆÀÀÆ@Á Ü€ A@ E FÁÀFÁÁ@ €E FÁÀF€ À€ \ € €À€E FÁÀFA€ À€ \ € €E F€ Á \A ž € Ai GetVariable petmode PetWizC PET_FOLLOW GetParentToTargetDist TargetPointDistance PET_FREE
PetMode_FREE PetMode_FOLLOW SetVariable _ j " Å Æ@À Ü€ @@ €€Ú@ € Á@A@ € Á@AA € Á@A À € Á@A € Ai
IsTargetDead
HasTarget PetWizC GetParentMaxDist PET_FREE PET_FOLLOW m { + Å Æ@À Ü€ @@ À€Ú@ @€ Á@@ €A €A W ‚€€E FÁ€ Á B \A E FÁÁFÂ^ €E FÁÁFAÂ^ À € ÁAAB €
Ai
IsTargetDead
HasTarget GetVariable
isAtkTrigger SetVariable PetWizC PET_FREE PET_FOLLOW ‚ …
E F@À € \€ X@ €‚@ ‚ € ž € Ai GetHpRatio ˆ Š … †@@À € A Á œ@€ € Ai AddSubState
FollowParent ® r … †@@À € œ€€Å ÆÀÀÜ€€ AÀ€ AA@€ Å ÆÁÆÁÁA AA@€ ÁA A AA@€ ÁA A ÁB@ €€ A€ C@€ Å ÆAà € @ €€À Ü€ÚA À€Å ÆAÀ € A Ü€ÚA €ÁA Å ÆAÀ € A Ü€ÚA €ÁA À‡ €Â A B BD@ €€ Å Æ‚Ä @€€ Ü B BA@€ ÁB B @€ ‚AÂD@€ ‚ € ‚AÂA À€ E@ €€ ÁB C B€€€ E@ €€ ÁB ƒ B€ € Ai GetVariable petmode GetTotalDeltaTime SetVariable PetWizC PET_FOLLOW
unpasablecnt
isAtkTrigger UnlockTargetPoint GetParentPosition IsLinePassable ÈB print tranport to parent
Transport
ToVector3 CalcPetMode AddSubState
FollowParent
AttackNormal ± ´ … †@@À € œ@€…€ ÁÀ œ@ € Ai UnlockTargetPoint print
Ai CANCEL · Ç . E F@À € \€ … †€@À œ€ Å ÆÀÀÆ ÁÀ€ €š@ €€Å ÆÀÀÆ@Á Ü€ Á@A@ € €€ €€Á A €€UA €€ÅÀ A @€ AÜ@ Â Þ €
Ai TargetPointDistance
IsTargetDead PetWizC NEED_APPROACH_DIST GetParentDist GetParentMaxDist print
ParentDist:
TargetDist: Ë á * A@@ Í
BM‚ŽÂÎŒÂÎB‚ŒÂÁ‚  @€E FÃÀFÁ€ \ €@ €€ €€EC FƒÁ€ \ƒ OCƒŽCƒŒƒÎCÌÃDƒ@ €€À ^ € Ai GetParentPosition A PetWizC GetPetHomePosition math sqrt ä ø % A@@ Í
‚NÂŽL‚‚‚ ΂À‚@€ Ã@A@ À €@ Þ €C ƒA@€ƒ NƒLCŽŒƒÀ€ @ Þ € Ai GetParentPosition A PetWizC GetPetHomePosition math sqrt û þ
A@@@ €€ À €À €@ Þ € Ai PetWizC # GetBetweenTargetToParentPositionXZ 4 E FAÀ€€ Á \ Â@@€ €€‚€E B À ƒ @€•B\B ‚ƒÀ€E FÂFB€€ À €@ \ ƒB@€€ À€ƒ E FÀ À€ B€ \C€E FÀ À€ D \C E FƒÃ€ À€ \C€ € Ai GetNodeOffsetPosition AI_SafetyMargin GetInRangeHostilityNum print ene: , SafetyMargin: PetWizC ! GetBetweenTargetToParentPosition
ToVector3 LockTargetPoint PetDo AgainAtk UnlockTargetPoint # 6 … †@@À € œ E FÀ€ À€ \ … †Á@À€ œA … †A†AAÀ € @ €€À œA … †AÀ € @€‚€ œA€… †ÁAÀ € A œA … †ÁAÀ € AB œA … †ÁAÀ € A‚ œA … †ÁBÀ € œA€ € Ai GetTargetPosition
ToVector3 ClearState PetWizC ResetAtkPosition LockTargetPoint PetDo WaitForMotionCancel UnreachApproach AtkN1U UnlockTargetPoint ' , A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetWizC IsAcceptableOrder PetDo AtkPa1 - 2 A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetWizC IsAcceptableOrder PetDo AtkPa2 3 8 A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetWizC IsAcceptableOrder PetDo AtkPa3 9 > A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetWizC IsAcceptableOrder PetDo AtkPa4 ? D A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetWizC IsAcceptableOrder PetDo AtkPa5 E R
! AA A Á@@€ Å ÆÁ € ÜA Å ÆAÁÆÁ @€ € À€ ÜA Å ÆÁÁ @€ ÜA Å ÆA € A‚  ÜA € print ATTACK TARGET ORDER: IN LOCK Ai GetTargetPosition ClearState PetWizC ResetAtkPosition PetDo WaitForCancel SetVariable
isAtkTrigger €? S V
AA A Á@A@ €€ A€ € print ATTACK TARGET ORDER: OUT LOCK Ai PetWizC DefaultAttackOrderProcess X [
AA A Á@A@ €€ A€ € print ATTACK TARGET ORDER: IN POS Ai PetWizC DefaultAttackOrderProcess \ _
AA A Á@A@ €€ A€ € print ATTACK TARGET ORDER: OUT POS Ai PetWizC DefaultAttackOrderProcess b n - A@@€ Å ÆÀÆÁÀ € Ü À‚ €XÀ‚ €B € E F‚ÀF‚Á€€ \ ÃA@€ ‚ C€ B@ €€ Å ÆC €@ €€Üƒ „BAÄ „€AD ‚€ € C € Ai GetParentPosition PetWizC GetParentDist €@ A GetPetHomePosition SetDash Move
ToVector3 GetRandomF @ @@ €? q {
A@@€ ‚ A€ @@€ E FÁÀFÁ @€E FAÁ€ À€ ‚ \A E FÁÁ€ À€ AB \A€ €
Ai SetDash TargetPointDistance PetWizC NEED_APPROACH_DIST PetDo Approach AddSubState AutoAttack ~ „
A@@€ E FÀFÁÀ@@€E FÁ€ À€ B A‚ \A€E FÁ€ À€ B A \A€ € Ai TargetPointDistance PetWizC NEED_APPROACH_DIST AddSubState AtkN1 AtkN2 ‡ ‹ A@@@€ @€ Á@@ €€ Á A € Ai PetWizC IsEnableAtkContinue PetDo AtkN1 ‘ A@@@€ @€ Á@@ €€ Á A € Ai PetWizC IsEnableAtkContinue PetDo AtkN2 ” ˜ AA A Á@@€ A A@€ A Å ÆÁÆÁÁA € print target is Dead Ai ClearState SetVariable petmode PetWizC PET_FOLLOW › Ÿ AA A Á@@€ A A@€ A Å ÆÁÆÁÁA € print target region is Dead Ai ClearState SetVariable petmode PetWizC PET_FOLLOW ¨ «
… †@@À € A œ@ … †@@À € AÁ œ@ € Ai PetDo AtkPa4Begin AtkPa4 [/spoiler-box]
Notably, the AI files now have conditionals on the PAs when they didn't before. Now your summon can be out of range of an order, in which case, they won't perform it.
Now, for the bigger news: Summoner has dedicated UI windows for lists of its summons. This almost certainly means that we will be able to change their appearance like mags. It may also mean that the pets have their own stats and can level up. Additionally there is data for a widget-type window. This should allow for hotswapping between each summon, similar to palette switching.
pet_dog_a:
[spoiler-box]lua à- y- ` pet_dog_a.ini.lua LuaQ m JÀ Š ‰ÀÀ‰ A‚‰@Á‚‰€Aƒ‰ÀÁƒ‰ÀA„‰ÀÁ„‰€B…I€ Š@ Ê
ÁC‡ ADˆÉ †
Á ʼn ÅŠ E‹É ‰É Ƌɀƌ‰À †I€€…I ÇI ÅŽIÀG¤ I€ ¤@ I€€¤€ I€ ‘¤À I€€‘¤ I€ ’¤@ I€€’¤€ I€ “¤À I€€“¤ I€ ”¤@ I€ ƒ¤€ I€€ƒ¤À I€€”¤ I€ •Š€ ä@ ‰À –ä€ ‰À€–äÀ ‰À —ä ‰À€—ä@ ‰À ˜ä€ ‰À€˜äÀ ‰À ™ä ‰À€™ä@ ‰À šä€ ‰À€šäÀ ‰À ›ä ‰À€›ä@ ‰À œä€ ‰À€œäÀ ‰À ä ‰À€ä@ ‰À žä€ ‰À€žäÀ ‰À Ÿä ‰À€ŸI€€•Š Á@ ¢@ I€ *¤@ I€€*¤€ I€ ¡ @€€ € C Ai PetDogA Mode Appear Escape Die Peace Attack
AttackObject Escort Patrol SearchCollision Sight_01
Collision Shape Sphere Radius B Offset X Y Z Type Sight Active NEED_APPROACH_DIST €@ PET_FOLLOW PET_FREE €? GetPetHomePosition GetParentMaxDist GetParentDist GetParentToTargetDist CalcPetMode
PetMode_FREE PetMode_FOLLOW Approach IsAcceptableOrder OnCancel IsEnableAtkContinue OnOrder
SUMMONER_PA1
SUMMONER_PA2
SUMMONER_PA3
SUMMONER_PA4
SUMMONER_PA5 SUMMONER_ATKORDER_IN_LOCK SUMMONER_ATKORDER_OUT_LOCK SUMMONER_ATKORDER_IN_POS SUMMONER_ATKORDER_OUT_POS
Wandering
FollowParent
AttackNormal AutoAttack AtkN1 AtkN2 AtkN3
AtkPa5Return AtkNC
OnTargetDead OnTargetRegionDead DebugFunction Test_Pa5 Test_AtkCombo # % )
E F@À € Á€ \ Á@@ €€ À €À €@ Þ € Ai GetNodeOffsetPosition AI_HomeOffset GetParentOffsetPosition . 1 E F@À € Á€ \ ž € Ai GetNodeOffsetPosition AI_Range 4 : E F@À € \ @@ Í
΂
‚M‚BE FÁŒ‚] ^ € Ai GetParentPosition GetPosition math sqrt > D E F@À € \ @@ Í
΂
‚M‚BE FÁŒ‚] ^ € Ai GetParentPosition GetTargetPosition math sqrt H Y 4 E F@À € Á€ \€€Z@ € €E FÀÀ F Á … †À@† AÅ ÆÀÀÆ@Á Ü€ A@ E FÁÀFÁÁ@ €E FÁÀF€ À€ \ € €À€E FÁÀFA€ À€ \ € €E F€ Á \A ž € Ai GetVariable petmode PetDogA PET_FOLLOW GetParentToTargetDist TargetPointDistance PET_FREE
PetMode_FREE PetMode_FOLLOW SetVariable \ g " Å Æ@À Ü€ @@ €€Ú@ € Á@A@ € Á@AA € Á@A À € Á@A € Ai
IsTargetDead
HasTarget PetDogA GetParentMaxDist PET_FREE PET_FOLLOW j x + Å Æ@À Ü€ @@ À€Ú@ @€ Á@@ €A €A W ‚€€E FÁ€ Á B \A E FÁÁFÂ^ €E FÁÁFAÂ^ À € ÁAAB €
Ai
IsTargetDead
HasTarget GetVariable
isAtkTrigger SetVariable PetDogA PET_FREE PET_FOLLOW z ƒ # E FBÀ€€ \‚ X@ €‚B ‚€ Å Æ‚À € Ü… †Ã@À€ @€œƒ Å ÆÁ € @ ÜC€Å ÆCÁ @€ € À€ @€€ À€ÜC€ € Ai TargetPointDistance GetTargetPosition
ToVector3 SetDash Approach † ‰
E F@À € \€ X@ €‚@ ‚ € ž € Ai GetHpRatio Œ Ž … †@@À € A Á œ@€ € Ai AddSubState
FollowParent ‘ µ „ … †@@À € œ€€Å ÆÀÀÜ€€ A€ € AA@€ Á A AA@€ Á À€A AA@€ Á A AA@€ A Å ÆÂÆÁÂA AA@€ Á A AA@€ A Á A € C@ €€ A€ ÁC@€ Å ÆÄ € @ €€À Ü€ÚA À€Å ÆAÀ € A Ü€ÚA €Á Å ÆAÀ € A Ü€ÚA €Á Àˆ €‚ A B E@ €€ Å ÆBÅ @€€ Ü B BA@€ Á‚ B € ‚B‚E@€ ‚ E F‚ÂFÂÂ@À€E FÂÅ€ À€ ƒ A \B€€€E FÂÅ€ À€ ƒ AC \B€ € Ai GetVariable rule GetTotalDeltaTime SetVariable cool back petmode PetDogA PET_FOLLOW
unpasablecnt
isAtkTrigger UnlockTargetPoint GetParentPosition IsLinePassable ÈB print tranport to parent
Transport
ToVector3 CalcPetMode AddSubState
FollowParent
AttackNormal ¸ » … †@@À € œ@€…€ ÁÀ œ@ € Ai UnlockTargetPoint print
Ai CANCEL ¾ Î . E F@À € \€ … †€@À œ€ Å ÆÀÀÆ ÁÀ€ €š@ €€Å ÆÀÀÆ@Á Ü€ Á@A@ € €€ €€Á A €€UA €€ÅÀ A @€ AÜ@ Â Þ €
Ai TargetPointDistance
IsTargetDead PetDogA NEED_APPROACH_DIST GetParentDist GetParentMaxDist print
ParentDist:
TargetDist: Ñ Ö A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetDogA IsAcceptableOrder PetDo AtkPa1 × Ü A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetDogA IsAcceptableOrder PetDo AtkPa2 Ý â A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetDogA IsAcceptableOrder PetDo AtkPa3 ã è A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetDogA IsAcceptableOrder PetDo AtkPa4 é ï A@@€ A @Á@@€ € A@ €€ ÁA A A@ €€ ÁÁ A€ € Ai ClearState PetDogA IsAcceptableOrder PetDo AtkPa5Begin AddSubState
AtkPa5Return ð ÿ
* AA A Á@@€ Å ÆÁ @€€ Ü ‚ BA@€ B ‚ ‚A@ €€ À€€ B€‚ ÂA@ €€ Á B ‚ BB@ €€ B€‚ ‚B@€  Á B €
print ATTACK TARGET ORDER: IN LOCK Ai GetTargetPosition
ToVector3 ClearState LockTargetPoint PetDo WaitForCancel UnlockTargetPoint SetVariable
isAtkTrigger €?
0 AA A Á@@€ Å ÆÁ @€€ Ü ‚ BA@€ B ‚ ‚A@ €€ À€€ B€‚ ÂA@ €€ Á B ‚ ÂA@ €€ ÁB B ‚ ÂA@ €€ Á‚ B ‚ ÂB@ €€ B€ € print ATTACK TARGET ORDER: OUT LOCK Ai GetTargetPosition
ToVector3 ClearState LockTargetPoint PetDo WaitForMotionCancel UnreachApproach AtkN1U UnlockTargetPoint "
0 AA A Á@@€ Å ÆÁ @€€ Ü ‚ BA@€ B ‚ ‚A@ €€ À€€ B€‚ ÂA@ €€ Á B ‚ ÂA@ €€ ÁB B ‚ ÂA@ €€ Á‚ B ‚ ÂB@ €€ B€ € print ATTACK TARGET ORDER: IN POS Ai GetTargetPosition
ToVector3 ClearState LockTargetPoint PetDo WaitForMotionCancel UnreachApproach AtkN1U UnlockTargetPoint # 3
0 AA A Á@@€ Å ÆÁ @€€ Ü ‚ BA@€ B ‚ ‚A@ €€ À€€ B€‚ ÂA@ €€ Á B ‚ ÂA@ €€ ÁB B ‚ ÂA@ €€ Á‚ B ‚ ÂB@ €€ B€ € print ATTACK TARGET ORDER: OUT POS Ai GetTargetPosition
ToVector3 ClearState LockTargetPoint PetDo WaitForMotionCancel UnreachApproach AtkN1U UnlockTargetPoint 6 ? = A@@€ Å ÆÀ @€€ Á ܅ †BAÀ€ œB€… †‚AÀ € E FÃÁ€€À €\ƒ … †BÁC „ œƒ€Áà € B€ œB … †CÀ € E FÂC Áƒ \€œB … †‚CÁ à œ‚€ D€€… †BDÀ € Aƒ ‚€ œB€ € Ai GetPosition & GetTargetRandomPositionFromEnemyPoint *@ pA SetDash Move
ToVector3 GetRandomF @ @@ Wait €?
GetRandom ÈB *A PetDo Grooming B N ) A@@€ Å ÆÀÆÁÀ € Ü À‚ €XÀ‚ €B € ŒAE FÂÁ€€ À \B€E F€ À€ CB@ €€À ƒ E FƒÂƒ Áà \ƒ€ € € \B €
Ai GetParentPosition PetDogA GetParentDist €@ A @ SetDash Move
ToVector3 GetRandomF @@ €? Q \
A@@€ ‚ A€ @@€ E FÁÀFÁ @€E FAÁ€ À€ ‚ \A E FÁÁ€ À€ AB \A€ €
Ai SetDash TargetPointDistance PetDogA NEED_APPROACH_DIST PetDo Approach AddSubState AutoAttack _ h
A@@€ E FÀFÁÀ@ €E FÁ€ À€ B A‚ \A€E FÁ€ À€ B A \A€E FÁ€ À€ B A \A€ € Ai TargetPointDistance PetDogA NEED_APPROACH_DIST AddPetCancelableSubState AtkN1 AtkN2 AtkN3 k o A@@@€ @€ Á@@ €€ Á A € Ai PetDogA IsEnableAtkContinue PetDo AtkN1 q u A@@@€ @€ Á@@ €€ Á A € Ai PetDogA IsEnableAtkContinue PetDo AtkN2 w { A@@@€ @€ Á@@ €€ Á A € Ai PetDogA IsEnableAtkContinue PetDo AtkN3 } ƒ A@@@€ Å ÆÁÀ @€ … †AÀ €@ œ‚ € ÜA€Å ÆAÁ @€ ‚ ÜA Å ÆÁÁ @€ ÜA€ € Ai PetDogA GetPetHomePosition LockTargetPoint
ToVector3 Attack
AtkPa5Return UnlockTargetPoint ‡ * : A@@€ E FÀ€€ ÁÁ \€… †@À€ œ€Å ÆÀ € AB Ü€€AÀ€ÀA@€ B@€ Å ÆB @€€ Ü‚ ÃÁAƒ € UƒƒÃ C@ €Ã €Ã ÅC „ @€DÜC Å ÆÃÃÆÄ @€ €€À€ ÜC € Ai TargetPointDistance GetVariable ComboNum ComboEnable ComboAction @ €? GetTargetCenter
ToVector3 AtkNC @@ print ComboAtkName: Common ComboAttack £ § AA A Á@@€ A A@€ A Å ÆÁÆÁÁA € print target is Dead Ai ClearState SetVariable petmode PetDogA PET_FOLLOW ª ® AA A Á@@€ A A@€ A Å ÆÁÆÁÁA € print target region is Dead Ai ClearState SetVariable petmode PetDogA PET_FOLLOW ¸ » … †@@À € A œ@ … †À@À € A A œ@€ € Ai PetDo AtkPa5Begin AddSubState
AtkPa5Return ½ Á … †@@À € œ E FÀ€ À€ \ … †Á@†AÀ € @€B œA€ € Ai GetTargetCenter
ToVector3 Common AttackCombo AtkNC1 [/spoiler-box]
pet_bird_b:
[spoiler-box]lua p$ $ ` pet_bird_b.ini.lua LuaQ d JÀ Š ‰ÀÀ‰ A‚‰@Á‚‰€Aƒ‰ÀÁƒ‰ÀA„‰ÀÁ„‰€B…I€ Š@ Ê
ÁC‡ ADˆÉ †
Á ʼn ÅŠ E‹É ‰É Ƌɀƌ‰À †I€€…I ÇI ÅŽIÀG¤ I€ ¤@ I€€¤€ I€ ‘¤À I€€‘¤ I€ ’¤@ I€€’¤€ I€ “¤À I€€“¤ I€ ƒ¤@ I€€ƒ¤€ I€ ”¤À I€€”¤ I€ •Š@ ä@ ‰À –ä€ ‰À€–äÀ ‰À —ä ‰À€—ä@ ‰À ˜ä€ ‰À€˜äÀ ‰À ™ä ‰À€™ä@ ‰À šä€ ‰À€šäÀ ‰À ›ä ‰À€›ä@ ‰À œä€ ‰À€œäÀ ‰À ä ‰À€ä@ ‰À žI€€•Š € Á€ ¢@€ I€€ž¤€ I€ Ÿ @€€ € ? Ai PetBirdB Mode Appear Escape Die Peace Attack
AttackObject Escort Patrol SearchCollision Sight_01
Collision Shape Sphere Radius B Offset X Y Z Type Sight Active NEED_APPROACH_DIST €@ PET_FOLLOW PET_FREE €? GetParentMaxDist GetPetHomePosition GetParentDist GetParentToTargetDist CalcPetMode
PetMode_FREE PetMode_FOLLOW IsAcceptableOrder OnCancel IsEnableAtkContinue DeaultAtkOrder OnOrder
SUMMONER_PA1
SUMMONER_PA2
SUMMONER_PA3
SUMMONER_PA4
SUMMONER_PA5 SUMMONER_ATKORDER_IN_LOCK SUMMONER_ATKORDER_OUT_LOCK SUMMONER_ATKORDER_IN_POS SUMMONER_ATKORDER_OUT_POS
FollowParent
AttackNormal AutoAttack AtkN1 AtkN2 AtkN3
OnTargetDead OnTargetRegionDead DebugFunction Test_Pa4 " % E F@À € Á€ \ ž € Ai GetNodeOffsetPosition AI_Range ( ,
E F@À € Á€ \ Á@@ €€ À €À €@ Þ € Ai GetNodeOffsetPosition AI_HomeOffset GetParentOffsetPosition 1 7 E F@À € \ @@ Í
΂
‚M‚BE FÁŒ‚] ^ € Ai GetParentPosition GetPosition math sqrt ; A E F@À € \ @@ Í
΂
‚M‚BE FÁŒ‚] ^ € Ai GetParentPosition GetTargetPosition math sqrt J [ 4 E F@À € Á€ \€€Z@ € €E FÀÀ F Á … †À@† AÅ ÆÀÀÆ@Á Ü€ A@ E FÁÀFÁÁ@ €E FÁÀF€ À€ \ € €À€E FÁÀFA€ À€ \ € €E F€ Á \A ž € Ai GetVariable petmode PetBirdB PET_FOLLOW GetParentToTargetDist TargetPointDistance PET_FREE
PetMode_FREE PetMode_FOLLOW SetVariable ^ i " Å Æ@À Ü€ @@ €€Ú@ € Á@A@ € Á@AA € Á@A À € Á@A € Ai
IsTargetDead
HasTarget PetBirdB GetParentMaxDist PET_FREE PET_FOLLOW l z + Å Æ@À Ü€ @@ À€Ú@ @€ Á@@ €A €A W ‚€€E FÁ€ Á B \A E FÁÁFÂ^ €E FÁÁFAÂ^ À € ÁAAB €
Ai
IsTargetDead
HasTarget GetVariable
isAtkTrigger SetVariable PetBirdB PET_FREE PET_FOLLOW „
E F@À € \€ X@ €‚@ ‚ € ž € Ai GetHpRatio ‡ ‰ … †@@À € A Á œ@€ € Ai AddSubState
FollowParent Œ ± „ … †@@À € œ€€Å ÆÀÀÜ€€ A€ € AA@€ Á A AA@€ Á À€A AA@€ Á A AA@€ A Å ÆÂÆÁÂA AA@€ Á A AA@€ A Á A € C@ €€ A€ ÁC@€ Å ÆÄ € @ €€À Ü€ÚA À€Å ÆAÀ € A Ü€ÚA €Á Å ÆAÀ € A Ü€ÚA €Á Àˆ €‚ A B E@ €€ Å ÆBÅ @€€ Ü B BA@€ Á‚ B € ‚B‚E@€ ‚ E F‚ÂFÂÂ@À€E FÂÅ€ À€ ƒ A \B€€€E FÂÅ€ À€ ƒ AC \B€ € Ai GetVariable rule GetTotalDeltaTime SetVariable cool back petmode PetBirdB PET_FOLLOW
unpasablecnt
isAtkTrigger UnlockTargetPoint GetParentPosition IsLinePassable ÈB print tranport to parent
Transport
ToVector3 CalcPetMode AddSubState
FollowParent
AttackNormal ´ · … †@@À € œ@€…€ ÁÀ œ@ € Ai UnlockTargetPoint print
Ai CANCEL º Ê . E F@À € \€ … †€@À œ€ Å ÆÀÀÆ ÁÀ€ €š@ €€Å ÆÀÀÆ@Á Ü€ Á@A@ € €€ €€Á A €€UA €€ÅÀ A @€ AÜ@ Â Þ €
Ai TargetPointDistance
IsTargetDead PetBirdB NEED_APPROACH_DIST GetParentDist GetParentMaxDist print
ParentDist:
TargetDist: Í Û - … †@@À € œ E FÀ€ À€ \ … †Á@À€ œA … †AÀ € @€‚€ œA€… †AAÀ € A‚ œA … †AAÀ € A œA … †AAÀ € A œA … †ABÀ € œA€ €
Ai GetTargetPosition
ToVector3 ClearState LockTargetPoint PetDo WaitForMotionCancel UnreachApproach AtkN1U UnlockTargetPoint ß ä A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetBirdB IsAcceptableOrder PetDo AtkPa1 å ê A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetBirdB IsAcceptableOrder PetDo AtkPa2 ë ð A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetBirdB IsAcceptableOrder PetDo AtkPa3 ñ ÷ A@@€ A @Á@@€ À€ A@ €€ ÁA A A@ €€ Á A € Ai ClearState PetBirdB IsAcceptableOrder PetDo AtkPa4Begin AtkPa4 ø ý A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetBirdB IsAcceptableOrder PetDo AtkPa5 ÿ
* AA A Á@@€ Å ÆÁ @€€ Ü ‚ BA@€ B ‚ ‚A@ €€ À€€ B€‚ ÂA@ €€ Á B ‚ BB@ €€ B€‚ ‚B@€  Á B €
print ATTACK TARGET ORDER: IN LOCK Ai GetTargetPosition
ToVector3 ClearState LockTargetPoint PetDo WaitForCancel UnlockTargetPoint SetVariable
isAtkTrigger €?
AA A Á@A@ €€ A€ € print ATTACK TARGET ORDER: OUT LOCK Ai PetBirdB DeaultAtkOrder
AA A Á@A@ €€ A€ € print ATTACK TARGET ORDER: IN POS Ai PetBirdB DeaultAtkOrder
AA A Á@A@ €€ A€ € print ATTACK TARGET ORDER: OUT POS Ai PetBirdB DeaultAtkOrder * - A@@€ Å ÆÀÆÁÀ € Ü À‚ €XÀ‚ €B € E F‚ÀF‚Á€€ \ ÃA@€ ‚ C€ B@ €€ Å ÆC €@ €€Üƒ „BAÄ „€AD ‚€ € C € Ai GetParentPosition PetBirdB GetParentDist €@ A GetPetHomePosition SetDash Move
ToVector3 GetRandomF @ @@ €? - 4 A@@€ ‚ A€ @@ €€ ÁÁ A A@ €€ ÁA ‚ A€ € Ai SetDash PetDo Approach AddSubState AutoAttack 7 >
A@@€ E FÀFÁÀ@ €E FÁ€ À€ B A‚ \A€E FÁ€ À€ B A \A€E FÁ€ À€ B A \A€ € Ai TargetPointDistance PetBirdB NEED_APPROACH_DIST AddPetCancelableSubState AtkN1 AtkN2 AtkN3 A E A@@@€ @€ Á@@ €€ Á A € Ai PetBirdB IsEnableAtkContinue PetDo AtkN1 G K A@@@€ @€ Á@@ €€ Á A € Ai PetBirdB IsEnableAtkContinue PetDo AtkN2 M Q A@@@€ @€ Á@@ €€ Á A € Ai PetBirdB IsEnableAtkContinue PetDo AtkN3 T X AA A Á@@€ A A@€ A Å ÆÁÆÁÁA € print target is Dead Ai ClearState SetVariable petmode PetBirdB PET_FOLLOW [ _ AA A Á@@€ A A@€ A Å ÆÁÆÁÁA € print target region is Dead Ai ClearState SetVariable petmode PetBirdB PET_FOLLOW h k
… †@@À € A œ@ … †@@À € AÁ œ@ € Ai PetDo AtkPa4Begin AtkPa4 [/spoiler-box]
pet_wiz_c:
[spoiler-box]lua ) *( ` pet_wiz_c.ini.lua LuaQ j J@ Š ‰ÀÀ‰ A‚‰@Á‚‰€Aƒ‰ÀÁƒ‰ÀA„‰ÀÁ„‰€B…I€ Š@ Ê
ÁC‡ ADˆÉ †
Á ʼn ÅŠ E‹É ‰É Ƌɀƌ‰À †I€€…I ÇI ÅŽIÀG¤ I€ ¤@ I€€¤€ I€ ‘¤À I€€‘¤ I€ ’¤@ I€€’¤€ I€ “¤À I€€“¤ I€ ƒ¤@ I€€ƒ¤€ I€ ”¤À I€€”¤ I€ •¤@ I€€•¤€ I€ –¤À I€€–¤ I€ —Š ä@ ‰À ˜ä€ ‰À€˜äÀ ‰À ™ä ‰À€™ä@ ‰À šä€ ‰À€šäÀ ‰À ›ä ‰À€›ä@ ‰À œä€ ‰À€œäÀ ‰À ä ‰À€ä@ ‰À žä€ ‰À€žäÀ ‰À Ÿä ‰À€ŸI€€—Š € Á@ ¢@€ I€ *¤@ I€€* @€€ € B Ai PetWizC Mode Appear Escape Die Peace Attack
AttackObject Escort Patrol SearchCollision Sight_01
Collision Shape Sphere Radius B Offset X Y Z Type Sight Active NEED_APPROACH_DIST pA PET_FOLLOW PET_FREE €? GetParentMaxDist GetPetHomePosition GetParentDist GetParentToTargetDist CalcPetMode
PetMode_FREE PetMode_FOLLOW IsAcceptableOrder OnCancel IsEnableAtkContinue $ GetBetweenTargetToParentPositionXYZ # GetBetweenTargetToParentPositionXZ ! GetBetweenTargetToParentPosition ResetAtkPosition DefaultAttackOrderProcess OnOrder
SUMMONER_PA1
SUMMONER_PA2
SUMMONER_PA3
SUMMONER_PA4
SUMMONER_PA5 SUMMONER_ATKORDER_IN_LOCK SUMMONER_ATKORDER_OUT_LOCK SUMMONER_ATKORDER_IN_POS SUMMONER_ATKORDER_OUT_POS
FollowParent
AttackNormal AutoAttack AtkN1 AtkN2
OnTargetDead OnTargetRegionDead DebugFunction Test_Pa4 " " % E F@À € Á€ \ ž € Ai GetNodeOffsetPosition AI_Range ) -
E F@À € Á€ \ Á@@ €€ À €À €@ Þ € Ai GetNodeOffsetPosition AI_HomeOffset GetParentOffsetPosition 2 8 E F@À € \ @@ Í
΂
‚M‚BE FÁŒ‚] ^ € Ai GetParentPosition GetPosition math sqrt < B E F@À € \ @@ Í
΂
‚M‚BE FÁŒ‚] ^ € Ai GetParentPosition GetTargetPosition math sqrt K \ 4 E F@À € Á€ \€€Z@ € €E FÀÀ F Á … †À@† AÅ ÆÀÀÆ@Á Ü€ A@ E FÁÀFÁÁ@ €E FÁÀF€ À€ \ € €À€E FÁÀFA€ À€ \ € €E F€ Á \A ž € Ai GetVariable petmode PetWizC PET_FOLLOW GetParentToTargetDist TargetPointDistance PET_FREE
PetMode_FREE PetMode_FOLLOW SetVariable _ j " Å Æ@À Ü€ @@ €€Ú@ € Á@A@ € Á@AA € Á@A À € Á@A € Ai
IsTargetDead
HasTarget PetWizC GetParentMaxDist PET_FREE PET_FOLLOW m { + Å Æ@À Ü€ @@ À€Ú@ @€ Á@@ €A €A W ‚€€E FÁ€ Á B \A E FÁÁFÂ^ €E FÁÁFAÂ^ À € ÁAAB €
Ai
IsTargetDead
HasTarget GetVariable
isAtkTrigger SetVariable PetWizC PET_FREE PET_FOLLOW ‚ …
E F@À € \€ X@ €‚@ ‚ € ž € Ai GetHpRatio ˆ Š … †@@À € A Á œ@€ € Ai AddSubState
FollowParent ® r … †@@À € œ€€Å ÆÀÀÜ€€ AÀ€ AA@€ Å ÆÁÆÁÁA AA@€ ÁA A AA@€ ÁA A ÁB@ €€ A€ C@€ Å ÆAà € @ €€À Ü€ÚA À€Å ÆAÀ € A Ü€ÚA €ÁA Å ÆAÀ € A Ü€ÚA €ÁA À‡ €Â A B BD@ €€ Å Æ‚Ä @€€ Ü B BA@€ ÁB B @€ ‚AÂD@€ ‚ € ‚AÂA À€ E@ €€ ÁB C B€€€ E@ €€ ÁB ƒ B€ € Ai GetVariable petmode GetTotalDeltaTime SetVariable PetWizC PET_FOLLOW
unpasablecnt
isAtkTrigger UnlockTargetPoint GetParentPosition IsLinePassable ÈB print tranport to parent
Transport
ToVector3 CalcPetMode AddSubState
FollowParent
AttackNormal ± ´ … †@@À € œ@€…€ ÁÀ œ@ € Ai UnlockTargetPoint print
Ai CANCEL · Ç . E F@À € \€ … †€@À œ€ Å ÆÀÀÆ ÁÀ€ €š@ €€Å ÆÀÀÆ@Á Ü€ Á@A@ € €€ €€Á A €€UA €€ÅÀ A @€ AÜ@ Â Þ €
Ai TargetPointDistance
IsTargetDead PetWizC NEED_APPROACH_DIST GetParentDist GetParentMaxDist print
ParentDist:
TargetDist: Ë á * A@@ Í
BM‚ŽÂÎŒÂÎB‚ŒÂÁ‚  @€E FÃÀFÁ€ \ €@ €€ €€EC FƒÁ€ \ƒ OCƒŽCƒŒƒÎCÌÃDƒ@ €€À ^ € Ai GetParentPosition A PetWizC GetPetHomePosition math sqrt ä ø % A@@ Í
‚NÂŽL‚‚‚ ΂À‚@€ Ã@A@ À €@ Þ €C ƒA@€ƒ NƒLCŽŒƒÀ€ @ Þ € Ai GetParentPosition A PetWizC GetPetHomePosition math sqrt û þ
A@@@ €€ À €À €@ Þ € Ai PetWizC # GetBetweenTargetToParentPositionXZ 4 E FAÀ€€ Á \ Â@@€ €€‚€E B À ƒ @€•B\B ‚ƒÀ€E FÂFB€€ À €@ \ ƒB@€€ À€ƒ E FÀ À€ B€ \C€E FÀ À€ D \C E FƒÃ€ À€ \C€ € Ai GetNodeOffsetPosition AI_SafetyMargin GetInRangeHostilityNum print ene: , SafetyMargin: PetWizC ! GetBetweenTargetToParentPosition
ToVector3 LockTargetPoint PetDo AgainAtk UnlockTargetPoint # 6 … †@@À € œ E FÀ€ À€ \ … †Á@À€ œA … †A†AAÀ € @ €€À œA … †AÀ € @€‚€ œA€… †ÁAÀ € A œA … †ÁAÀ € AB œA … †ÁAÀ € A‚ œA … †ÁBÀ € œA€ € Ai GetTargetPosition
ToVector3 ClearState PetWizC ResetAtkPosition LockTargetPoint PetDo WaitForMotionCancel UnreachApproach AtkN1U UnlockTargetPoint ' , A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetWizC IsAcceptableOrder PetDo AtkPa1 - 2 A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetWizC IsAcceptableOrder PetDo AtkPa2 3 8 A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetWizC IsAcceptableOrder PetDo AtkPa3 9 > A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetWizC IsAcceptableOrder PetDo AtkPa4 ? D A@@€ A @Á@@€ @€ A@ €€ ÁA A € Ai ClearState PetWizC IsAcceptableOrder PetDo AtkPa5 E R
! AA A Á@@€ Å ÆÁ € ÜA Å ÆAÁÆÁ @€ € À€ ÜA Å ÆÁÁ @€ ÜA Å ÆA € A‚  ÜA € print ATTACK TARGET ORDER: IN LOCK Ai GetTargetPosition ClearState PetWizC ResetAtkPosition PetDo WaitForCancel SetVariable
isAtkTrigger €? S V
AA A Á@A@ €€ A€ € print ATTACK TARGET ORDER: OUT LOCK Ai PetWizC DefaultAttackOrderProcess X [
AA A Á@A@ €€ A€ € print ATTACK TARGET ORDER: IN POS Ai PetWizC DefaultAttackOrderProcess \ _
AA A Á@A@ €€ A€ € print ATTACK TARGET ORDER: OUT POS Ai PetWizC DefaultAttackOrderProcess b n - A@@€ Å ÆÀÆÁÀ € Ü À‚ €XÀ‚ €B € E F‚ÀF‚Á€€ \ ÃA@€ ‚ C€ B@ €€ Å ÆC €@ €€Üƒ „BAÄ „€AD ‚€ € C € Ai GetParentPosition PetWizC GetParentDist €@ A GetPetHomePosition SetDash Move
ToVector3 GetRandomF @ @@ €? q {
A@@€ ‚ A€ @@€ E FÁÀFÁ @€E FAÁ€ À€ ‚ \A E FÁÁ€ À€ AB \A€ €
Ai SetDash TargetPointDistance PetWizC NEED_APPROACH_DIST PetDo Approach AddSubState AutoAttack ~ „
A@@€ E FÀFÁÀ@@€E FÁ€ À€ B A‚ \A€E FÁ€ À€ B A \A€ € Ai TargetPointDistance PetWizC NEED_APPROACH_DIST AddSubState AtkN1 AtkN2 ‡ ‹ A@@@€ @€ Á@@ €€ Á A € Ai PetWizC IsEnableAtkContinue PetDo AtkN1 ‘ A@@@€ @€ Á@@ €€ Á A € Ai PetWizC IsEnableAtkContinue PetDo AtkN2 ” ˜ AA A Á@@€ A A@€ A Å ÆÁÆÁÁA € print target is Dead Ai ClearState SetVariable petmode PetWizC PET_FOLLOW › Ÿ AA A Á@@€ A A@€ A Å ÆÁÆÁÁA € print target region is Dead Ai ClearState SetVariable petmode PetWizC PET_FOLLOW ¨ «
… †@@À € A œ@ … †@@À € AÁ œ@ € Ai PetDo AtkPa4Begin AtkPa4 [/spoiler-box]
Notably, the AI files now have conditionals on the PAs when they didn't before. Now your summon can be out of range of an order, in which case, they won't perform it.
Now, for the bigger news: Summoner has dedicated UI windows for lists of its summons. This almost certainly means that we will be able to change their appearance like mags. It may also mean that the pets have their own stats and can level up. Additionally there is data for a widget-type window. This should allow for hotswapping between each summon, similar to palette switching.