// Code generated by aigen. DO NOT EDIT.
package generated
import "github.com/mmo-dev-team/l2go-game/internal/ai"
var aiWarriorAggressiveP = struct {
AcceptShoutTarget int32
AttackLowHP int32
AttackLowLevel int32
Attack_BoostValue float32
Attack_DecayRatio float32
Chase_BoostValue float32
Chase_DecayRatio float32
CreviceOfDiminsion int32
DaggerBackAttack int32
Decaying_BoostValue float32
Decaying_DecayRatio float32
DesirePqSize int32
DoNothing_BoostValue float32
DoNothing_DecayRatio float32
DungeonType int32
DungeonTypeAI int32
DungeonTypePrivate string
EffectAction_BoostValue float32
EffectAction_DecayRatio float32
FavorListSize int32
Flee_BoostValue float32
Flee_DecayRatio float32
Follow_BoostValue float32
Follow_DecayRatio float32
FriendShip int32
FriendShip1 int32
FriendShip2 int32
FriendShip3 int32
FriendShip4 int32
FriendShip5 int32
GetItem_BoostValue float32
GetItem_DecayRatio float32
HalfAggressive int32
HealBonus int32
HelpHeroAI string
HelpHeroSilhouette int32
IdleDesire_BoostValue float32
IdleDesire_DecayRatio float32
IsSay int32
IsTransform int32
IsVs int32
LongRangeGuardRate int32
MoveAroundSocial int32
MoveAroundSocial1 int32
MoveAroundSocial2 int32
MoveAround_BoostValue float32
MoveAround_DecayRatio float32
MoveToTarget_BoostValue float32
MoveToTarget_DecayRatio float32
MoveToWayPoint_BoostValue float32
MoveToWayPoint_DecayRatio float32
MoveTo_BoostValue float32
MoveTo_DecayRatio float32
RandomAggressive int32
RunAway int32
SSQLoserTeleport int32
SSQTelPosX int32
SSQTelPosY int32
SSQTelPosZ int32
SeeCreatureAttackerTime int32
SelfExplosion int32
SetAggressiveTime int32
SetCurse int32
SetHateGroup int32
SetHateGroupRatio int32
SetHateOccupation int32
SetHateOccupationRatio int32
SetHateRace int32
SetHateRaceRatio int32
ShoutMsg1 int32
ShoutMsg2 int32
ShoutMsg3 int32
ShoutMsg4 int32
ShoutTarget int32
SoulShot int32
SoulShotRate int32
SpecialSkill int32
SpeedBonus int32
SpiritShot int32
SpiritShotRate int32
SwapPosition int32
UseSkill_BoostValue float32
UseSkill_DecayRatio float32
step1 int32
step2 int32
step3 int32
}{
AcceptShoutTarget: 0,
AttackLowHP: 0,
AttackLowLevel: 0,
Attack_BoostValue: float32(300),
Attack_DecayRatio: float32(6.6),
Chase_BoostValue: float32(0),
Chase_DecayRatio: float32(0),
CreviceOfDiminsion: 0,
DaggerBackAttack: 7000,
Decaying_BoostValue: float32(0),
Decaying_DecayRatio: float32(0),
DesirePqSize: 50,
DoNothing_BoostValue: float32(0),
DoNothing_DecayRatio: float32(0),
DungeonType: 0,
DungeonTypeAI: 0,
DungeonTypePrivate: "",
EffectAction_BoostValue: float32(0),
EffectAction_DecayRatio: float32(0),
FavorListSize: 30,
Flee_BoostValue: float32(0),
Flee_DecayRatio: float32(0),
Follow_BoostValue: float32(0),
Follow_DecayRatio: float32(0),
FriendShip: 0,
FriendShip1: 0,
FriendShip2: 0,
FriendShip3: 0,
FriendShip4: 0,
FriendShip5: 0,
GetItem_BoostValue: float32(0),
GetItem_DecayRatio: float32(0),
HalfAggressive: 0,
HealBonus: 0,
HelpHeroAI: "warrior_hero",
HelpHeroSilhouette: 0,
IdleDesire_BoostValue: float32(0),
IdleDesire_DecayRatio: float32(0),
IsSay: 0,
IsTransform: 0,
IsVs: 0,
LongRangeGuardRate: -1,
MoveAroundSocial: 0,
MoveAroundSocial1: 0,
MoveAroundSocial2: 0,
MoveAround_BoostValue: float32(0),
MoveAround_DecayRatio: float32(0),
MoveToTarget_BoostValue: float32(0),
MoveToTarget_DecayRatio: float32(0),
MoveToWayPoint_BoostValue: float32(0),
MoveToWayPoint_DecayRatio: float32(0),
MoveTo_BoostValue: float32(0),
MoveTo_DecayRatio: float32(0),
RandomAggressive: 0,
RunAway: 1,
SSQLoserTeleport: 0,
SSQTelPosX: 0,
SSQTelPosY: 0,
SSQTelPosZ: 0,
SeeCreatureAttackerTime: -1,
SelfExplosion: 0,
SetAggressiveTime: -1,
SetCurse: 0,
SetHateGroup: -1,
SetHateGroupRatio: 0,
SetHateOccupation: -1,
SetHateOccupationRatio: 0,
SetHateRace: -1,
SetHateRaceRatio: 0,
ShoutMsg1: 0,
ShoutMsg2: 0,
ShoutMsg3: 0,
ShoutMsg4: 0,
ShoutTarget: 0,
SoulShot: 0,
SoulShotRate: 0,
SpecialSkill: 7000,
SpeedBonus: 0,
SpiritShot: 0,
SpiritShotRate: 0,
SwapPosition: 0,
UseSkill_BoostValue: float32(100000),
UseSkill_DecayRatio: float32(0),
step1: 1020130,
step2: 1020006,
step3: 1020853,
}
type aiWarriorAggressive struct{}
var aiWarriorAggressiveTemplates = []int32{1020012, 1020017, 1020018, 1020022, 1020024, 1020025, 1020034, 1020042, 1020047, 1020049, 1020060, 1020064, 1020070, 1020071, 1020072, 1020080, 1020093, 1020099, 1020103, 1020108, 1020111, 1020133, 1020135, 1020140, 1020141, 1020143, 1020148, 1020150, 1020155, 1020156, 1020158, 1020159, 1020161, 1020162, 1020166, 1020167, 1020169, 1020170, 1020173, 1020174, 1020191, 1020193, 1020205, 1020243, 1020249, 1020253, 1020254, 1020275, 1020280, 1020282, 1020285, 1020287, 1020295, 1020302, 1020305, 1020310, 1020313, 1020314, 1020323, 1020324, 1020329, 1020340, 1020342, 1020343, 1020350, 1020356, 1020362, 1020364, 1020367, 1020371, 1020372, 1020375, 1020386, 1020387, 1020394, 1020402, 1020404, 1020410, 1020425, 1020435, 1020455, 1020460, 1020461, 1020462, 1020464, 1020466, 1020471, 1020472, 1020479, 1020489, 1020491, 1020502, 1020504, 1020508, 1020516, 1020517, 1020519, 1020527, 1020543, 1020548, 1020557, 1020574, 1020579, 1020582, 1020592, 1020603, 1020636, 1020637, 1020638, 1020655, 1020743, 1020782, 1020783, 1020851, 1020852, 1020921, 1021093, 1021096, 1021099, 1021100, 1021118, 1021121, 1021122, 1021125, 1021129, 1021130, 1021134, 1021139, 1021142, 1021256, 1027029, 1027030, 1027124, 1027127, 1027128, 1027129, 1027131, 1027132, 1027133, 1027193, 1027219, 1027220, 1027221, 1027222, 1027223, 1027224, 1027225, 1027226, 1027227, 1027228, 1027229, 1027230, 1027231, 1027232, 1027233, 1027234, 1027235, 1027236, 1027237, 1027238, 1027239, 1027240, 1027241, 1027242, 1027243, 1027244, 1027245, 1027246, 1027247, 1027248, 1027249, 1027254, 1027255, 1027256, 1027262, 1027263, 1027264, 1027265, 1027273, 1027274, 1027275, 1027276, 1027277, 1027278, 1027279, 1027280, 1027281, 1027282, 1027283, 1027284, 1027285, 1027302, 1027303, 1027304, 1027305, 1027306, 1027307, 1027308, 1027309, 1027310, 1027311, 1027312}
func (aiWarriorAggressive) TemplateIDs() []int32 { return aiWarriorAggressiveTemplates }
func (aiWarriorAggressive) OnSeeCreature(c *ai.ScriptContext, creature int32) {
if (h.Field(c, creature, "is_pc") == 0) && (h.IsInCategory(c, 15, h.Field(c, creature, "npc_class_id")) == 0) {
return
}
if aiWarriorAggressiveP.SeeCreatureAttackerTime == -1 {
if aiWarriorAggressiveP.SetAggressiveTime == -1 {
if (h.GetLifeTime(c) >= (h.Rand(c, 5) + 3)) && (h.InMyTerritory(c, h.Field(c, c.Self, "sm")) != 0) {
h.AddAttackDesire(c, creature, 1, float32(200))
}
} else {
if aiWarriorAggressiveP.SetAggressiveTime == 0 {
if h.InMyTerritory(c, h.Field(c, c.Self, "sm")) != 0 {
h.AddAttackDesire(c, creature, 1, float32(200))
}
} else {
if (h.GetLifeTime(c) > (aiWarriorAggressiveP.SetAggressiveTime + h.Rand(c, 4))) && (h.InMyTerritory(c, h.Field(c, c.Self, "sm")) != 0) {
h.AddAttackDesire(c, creature, 1, float32(200))
}
}
}
} else {
if (h.GetLifeTime(c) > aiWarriorAggressiveP.SeeCreatureAttackerTime) && (h.InMyTerritory(c, h.Field(c, c.Self, "sm")) != 0) {
h.AddAttackDesire(c, creature, 1, float32(200))
}
}
aiWarriorParameter{}.OnSeeCreature(c, creature)
}