home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 1.5)
-
- import Bladex
- import AuxTran
- import Actions
- import Blood
- import Damage
- import AniSound
- import Reference
- import pdb
- import CharStats
- import copy
- import ItemTypes
- import netgame
- import whrandom
- import MenuText
- import AuxFuncs
- import GenFX
- import Auras
- import ObjStore
- import GameStateAux
- import BInput
- import InitDataField
- new_combo_sound = Bladex.CreateSound('..\\..\\Sounds\\sesgado-lava.wav', 'NewComboSound')
- new_combo_sound.Volume = 1.0
- new_combo_sound.MinDistance = 5000
- new_combo_sound.MaxDistance = 20000
- RestoreEnergyTime = 1.0 / 20.0
- EnergyMin = 14.0
- RestoreEnergyRateMin = 0.005
- RestoreEnergyRateMax = 0.095
-
- def RestoreEnergyFunc(EntityName):
- Bladex.AddScheduledFunc(Bladex.GetTime() + RestoreEnergyTime, RestoreEnergyFunc, (EntityName,), 'PlayerRestoreEnergy')
- pj = Bladex.GetEntity(EntityName)
- if pj:
- max_energy = CharStats.GetCharMaxEnergy(pj.Kind, pj.Level)
- prev_energy = pj.Energy
- if pj.InAttack:
- energy2lose = min(pj.Data.LoseEnergyRate * RestoreEnergyTime, pj.Data.Energy2Lose)
- pj.Energy = max(prev_energy - energy2lose, -max_energy * Reference.ENERGY_LOW_LEVEL)
- pj.Data.Energy2Lose = pj.Data.Energy2Lose - energy2lose
- if pj.Energy <= 0.0 and pj.AnmPos > 0.8:
- pj.Gof = 0
- pj.Gob = 0
- pj.Tl = 0
- pj.Tr = 0
- pj.InterruptCombat()
- pj.RaiseEvent('Interrupt')
-
- else:
- energyF = pow(1.0 - pj.Level / (CharStats.GetMaxLevel() * 1.0), 2)
- RestoreEnergyRate = energyF * (RestoreEnergyRateMax - RestoreEnergyRateMin) + RestoreEnergyRateMin
- new_energy = max(min(prev_energy + RestoreEnergyRate * max_energy - pj.Data.Energy2Lose, max_energy), -max_energy * Reference.ENERGY_LOW_LEVEL)
- pj.Energy = new_energy
- pj.Data.Energy2Lose = 0.0
-
-
-
- class PlayerPerson:
- ObjId = 0
- NPC = 0
- Name = 'Unnamed'
- DamageFactorNone = -0.001
- DamageFactorLight = 0.1
- DamageFactorHeavy = 0.35
- TakeBleedingImpact = 0
- ThrownBy = None
- PowerPotion = 0
- FAttack = 1.0
- FDefense = 1.0
- AimPressed = 0
- stuff_onback_b4 = 0
- toggle4t_clearback = 0
- LoseEnergyRate = 0.0
- Energy2Lose = 0.0
- last_frwdup = -1
- last_brwdup = -1
- armour_level = 0
- armour_prot_factor = 0
- Poisoned = 0
- NoFXOnHit = 1
- Resistances = None
- ObjectsTaken = []
- LevelUpParticleData = []
- Invincibility = 0
- InventoryActive = 1
-
- def __init__(self, me):
- self.InventoryActive = me.Name[0:6] != 'Player'
- self.ObjId = ObjStore.GetNewId()
- ObjStore.ObjectsStore[self.ObjId] = self
- self.ObjectsTaken = []
- self.LevelUpParticleData = []
- self.Name = me.Name
- me.DamageFunc = Damage.CalculateDamage
- me.AttackFunc = Damage.CalculateFatigue
- me.TakeFunc = self.TakeFunc
- me.ThrowFunc = self.ThrowFunc
- me.HitFunc = self.HitFunc
- me.ImDeadFunc = self.PCImDead
- me.NewComboFunc = self.StdNewCombo
- me.BigFallFunc = self.StdBigFall
- me.Life = CharStats.GetCharMaxLife(me.Kind, me.Level)
- me.Energy = CharStats.GetCharMaxEnergy(me.Kind, me.Level)
- me.AddAnmEventFunc('TakeArrow', Actions.TakeArrowEventHandler)
- me.AddAnmEventFunc('CheckRefireBow', Actions.CheckRefireBowEventHandler)
- me.AddAnmEventFunc('W2hToLeft', Actions.W2hToLeftHandler)
- me.AddAnmEventFunc('W2hToRight', Actions.W2hToRightHandler)
- me.AddAnmEventFunc('LaunchTrail', self.LaunchTrail)
- me.AddAnmEventFunc('Start_Weapon', Actions.Start_Weapon)
- me.AddAnmEventFunc('Stop_Weapon', Actions.Stop_Weapon)
- me.AddAnmEventFunc('Start_Trail', Actions.Start_Trail)
- me.AddAnmEventFunc('Stop_Trail', Actions.Stop_Trail)
- me.AddAnmEventFunc('GraspString', Actions.GraspString)
- me.AddAnmEventFunc('UnGraspString', Actions.UnGraspString)
- me.MutilateFunc = self.MutilateFunc
- self.Resistances = copy.copy(CharStats.GetCharResistances(me.Kind))
- self.ResetSounds(self.Name)
- if self.Name[0:6] == 'Player':
- self.LevelUpParticleData = []
- for i in range(30):
- r = 255
- g = 255
- b = 255
- a = 255.0 * traux
- size = 200.0 * aux
- self.LevelUpParticleData.append(a)
- self.LevelUpParticleData.append(size)
- Bladex.SetParticleGVal('LevelUpParticle', i, r, g, b, a, size)
-
- Bladex.AddScheduledFunc(Bladex.GetTime() + RestoreEnergyTime, RestoreEnergyFunc, (self.Name,), 'PlayerRestoreEnergy')
-
-
-
- def __del__(self):
- del ObjStore.ObjectsStore[self.ObjId]
-
-
- def ResetSounds(self, EntityName):
- me = Bladex.GetEntity(EntityName)
- kind = me.Kind[:len(me.Kind) - 2]
- if kind == 'Barbarian':
- AniSound.AsignarSonidosBarbaro(EntityName)
- elif kind == 'Knight':
- AniSound.AsignarSonidosCaballero(EntityName)
- elif kind == 'Dwarf':
- AniSound.AsignarSonidosEnano(EntityName)
- elif kind == 'Amazon':
- AniSound.AsignarSonidosAmazona(EntityName)
-
-
-
- def GetNewMembers(self):
- bases = self.__class__.__bases__
- new_members = { }
- for i in bases:
- base_dict = i.__dict__
- for j in base_dict.keys():
- pass
-
-
-
-
- def persistent_id(self):
- return self.ObjId
-
-
- def __getstate__(self):
- return (1, {
- 'PlayerPerson': (self.ObjId, self.NPC, self.Name, self.DamageFactorNone, self.DamageFactorLight, self.DamageFactorHeavy, self.TakeBleedingImpact, self.ThrownBy, self.PowerPotion, self.FAttack, self.FDefense, self.AimPressed, self.stuff_onback_b4, self.toggle4t_clearback, self.last_frwdup, self.last_brwdup, self.LoseEnergyRate, self.Energy2Lose, self.Resistances, self.armour_level, self.armour_prot_factor, self.Poisoned, self.ObjectsTaken, self.Invincibility, self.InventoryActive, GameStateAux.SaveNewMembers(self)) })
-
-
- def persistent_check(self):
- me = Bladex.GetEntity(self.Name)
- if not me:
- return 0
-
- return 1
-
-
- def __setstate__(self, parm):
- version = parm[0]
- if version == 1:
- parms = parm[1]['PlayerPerson']
- self.ObjId = parms[0]
- ObjStore.ObjectsStore[self.ObjId] = self
- self.NPC = parms[1]
- self.Name = parms[2]
- self.DamageFactorNone = parms[3]
- self.DamageFactorLight = parms[4]
- self.DamageFactorHeavy = parms[5]
- self.TakeBleedingImpact = parms[6]
- self.ThrownBy = parms[7]
- self.PowerPotion = parms[8]
- self.FAttack = parms[9]
- self.FDefense = parms[10]
- self.AimPressed = parms[11]
- self.stuff_onback_b4 = parms[12]
- self.toggle4t_clearback = parms[13]
- self.last_frwdup = parms[14]
- self.last_brwdup = parms[15]
- self.LoseEnergyRate = parms[16]
- self.Energy2Lose = parms[17]
- self.Resistances = parms[18]
- self.armour_level = parms[19]
- self.armour_prot_factor = parms[20]
- self.Poisoned = parms[21]
- self.ObjectsTaken = parms[22]
- self.Invincibility = parms[23]
- self.InventoryActive = parms[24]
- GameStateAux.LoadNewMembers(self, parms[25])
- else:
- print 'ERROR, Incorrect version'
- self.ObjId = ObjStore.GetNewId()
- ObjStore.ObjectsStore[self.ObjId] = self
- if self.Name[0:6] == 'Player':
- self.LevelUpParticleData = []
- for i in range(30):
- r = 255
- g = 255
- b = 255
- a = 255.0 * traux
- size = 200.0 * aux
- self.LevelUpParticleData.append(a)
- self.LevelUpParticleData.append(size)
- Bladex.SetParticleGVal('LevelUpParticle', i, r, g, b, a, size)
-
- Bladex.AddScheduledFunc(Bladex.GetTime() + RestoreEnergyTime, RestoreEnergyFunc, (self.Name,), 'PlayerRestoreEnergy')
-
- me = Bladex.GetEntity(self.Name)
- if not me:
- print 'PlayerPerson.__setstate__() Warning, can not get entity', self.Name
- return None
-
- me.DamageFunc = Damage.CalculateDamage
- me.TakeFunc = self.TakeFunc
- me.ThrowFunc = self.ThrowFunc
- me.HitFunc = self.HitFunc
- me.ImDeadFunc = self.PCImDead
- me.NewComboFunc = self.StdNewCombo
- me.BigFallFunc = self.StdBigFall
- me.AttackFunc = Damage.CalculateFatigue
- me.AddAnmEventFunc('TakeArrow', Actions.TakeArrowEventHandler)
- me.AddAnmEventFunc('CheckRefireBow', Actions.CheckRefireBowEventHandler)
- me.AddAnmEventFunc('W2hToLeft', Actions.W2hToLeftHandler)
- me.AddAnmEventFunc('W2hToRight', Actions.W2hToRightHandler)
- me.AddAnmEventFunc('LaunchTrail', self.LaunchTrail)
- me.AddAnmEventFunc('Start_Weapon', Actions.Start_Weapon)
- me.AddAnmEventFunc('Stop_Weapon', Actions.Stop_Weapon)
- me.AddAnmEventFunc('Start_Trail', Actions.Start_Trail)
- me.AddAnmEventFunc('Stop_Trail', Actions.Stop_Trail)
- me.MutilateFunc = self.MutilateFunc
- self.NoFXOnHit = 1
- self.ResetSounds(self.Name)
-
-
- def MutilateFunc(self, EntityName, obj_name, x, y, z, nx, ny, nz, node):
- print EntityName + ': MutilateFunc'
- me = Bladex.GetEntity(EntityName)
- if me and me.Kind != 'Skeleton':
- Blood.Mutilate(EntityName, obj_name, x, y, z, nx, ny, nz, node)
-
- limb = Bladex.GetEntity(obj_name)
- InitDataField.Initialise(limb)
- limb.Data.NoFXOnHit = 1
- print limb.Mass, node
- if limb.Mass > 1.5 and limb.Mass < 7.0:
- Reference.EntitiesSelectionData[obj_name] = Reference.DefaultSelectionData['Limb']
- Reference.EntitiesObjectData[obj_name] = Reference.DefaultObjectData['Limb']
-
-
-
- def TakeFunc(self, MyName):
- Actions.StdUse(MyName)
-
-
- def ThrowFunc(self, MyName):
- Actions.StdThrowObject(MyName)
-
-
- def HitFunc(self, EntityName, WeaponName, Cx, Cy, Cz, Px, Py, Pz, WeaponCx, WeaponCy, WeaponCz, WeaponDx, WeaponDy, WeaponDz):
- if self.TakeBleedingImpact:
- Blood.BleedingImpact(Bladex.GetEntity(EntityName), Cx, Cy, Cz, Px, Py, Pz, Bladex.GetEntity(WeaponName), WeaponCx, WeaponCy, WeaponCz, WeaponDx, WeaponDy, WeaponDz)
- self.TakeBleedingImpact = 0
-
-
-
- def ReSpawn(self, EntityName):
- print 'Respawn Func'
- me = Bladex.GetEntity(EntityName)
- right = me.InvRight
- left = me.InvLeft
- rightback = me.InvRightBack
- leftback = me.InvLeftBack
- self.UnlinkAll(EntityName, '')
- inv = me.GetInventory()
- if rightback:
- inv.LinkRightHand(rightback)
- inv.LinkBack(rightback)
-
- if leftback:
- inv.LinkLeftHand(leftback)
- inv.LinkBack(leftback)
-
- if right:
- inv.LinkRightHand(right)
-
- if left:
- inv.LinkLeftHand(left)
-
- me.Life = CharStats.GetCharMaxLife(me.Kind, me.Level)
- me.Energy = CharStats.GetCharMaxEnergy(me.Kind, me.Level)
- me.ResetWounds()
- if self.Poisoned:
- self.UnVenom()
-
- (x, y, z) = me.Position
- import darfuncs
- darfuncs.CleanArea(x, y, z, 5000.0)
- if netgame.GetNetState() == 0:
- Bladex.AddScheduledFunc(Bladex.GetTime() + 0.2, self.RelinkCamera, (), 'RelinkCamera')
-
- angle = me.Angle
- me.Orientation = (0.0, 3.62407746479e-007, 0.707107365131, -0.707106947899)
- me.Angle = angle
-
-
- def RelinkCamera(self):
- cam = Bladex.GetEntity('Camera')
- cam.SetPersonView('Player1')
-
-
- def UnlinkAll(self, EntityName, EventName):
- me = Bladex.GetEntity(EntityName)
- me.UnlinkChildren()
-
-
- def GetResistance(self, DamageType):
- if self.Resistances.has_key(DamageType):
- resistance = self.Resistances[DamageType]
- else:
- resistance = 0.0
- resistance = min(max(resistance, 0.0), 1.0)
- me = Bladex.GetEntity(self.Name)
- return resistance
-
-
- def UnVenom(self):
- self.Poisoned = 0
-
-
- def ReVenom(self, EntityName, VenomStrength, TimeRemaining, Frequency, Poisoner):
- if self.Poisoned:
- if BInput.GetInputManager().GetInputActionsSet() != 'Default':
- Bladex.AddScheduledFunc(Bladex.GetTime() + Frequency, self.ReVenom, (EntityName, VenomStrength, TimeRemaining, Frequency, Poisoner), self.Name + 'ReVenom')
- else:
- NextTimeRemaining = TimeRemaining - Frequency
- me = Bladex.GetEntity(EntityName)
- if me and me.Life > 0:
- special_resistance = self.GetResistance('Venom')
- if special_resistance < 1.0:
- if NextTimeRemaining > 0.0:
- Bladex.AddScheduledFunc(Bladex.GetTime() + Frequency, self.ReVenom, (EntityName, VenomStrength, NextTimeRemaining, Frequency, Poisoner), self.Name + 'ReVenom')
- else:
- VenomStrength = VenomStrength * (TimeRemaining / Frequency)
- self.Poisoned = self.Poisoned - 1
- if not (self.Poisoned):
- self.UnVenom()
-
- current_venom_damage = VenomStrength - VenomStrength * special_resistance
- me.Life = me.Life - current_venom_damage
- if me.Life <= 0:
- enemy = Bladex.GetEntity(Poisoner)
- if enemy:
-
- try:
- enemy.Data.OnKilledEnemy(EntityName)
- except:
- pass
-
-
-
- else:
- self.UnVenom()
-
-
-
-
- def EnVenom(self, EntityName, VenomStrength, Poisoner):
- me = Bladex.GetEntity(EntityName)
- if me and me.Life > 0:
- special_resistance = self.GetResistance('Venom')
- if special_resistance < 1.0:
- time = Bladex.GetTime()
- if not (self.Poisoned):
- aura = Auras.MakeAura(EntityName, 0.7, (55, 0.1, 1.0, 1, 0, 0), (), (), (2, 0.0, 0.35, 0.0, 0.2, 0.0, 0.0, 0.35, 0.0, 0.1, 1.0))
- aura.Data.AddEvent(time + 0.2, (45, 1.0, 1.0, 1, 0, 0), (), (), (2, 0.0, 0.35, 0.0, 0.2, 0.0, 0.0, 0.35, 0.0, 0.1, 1.0))
- aura.Data.AddEvent(time + 0.7, (5, 0.1, 1.0, 1, 0, 0), (), (), (2, 0.0, 0.35, 0.0, 0.2, 0.0, 0.0, 0.35, 0.0, 0.1, 1.0))
-
- self.Poisoned = self.Poisoned + 1
- VenomTime = 60.0
- Frequency = 5.0
- Bladex.AddScheduledFunc(time + Frequency, self.ReVenom, (EntityName, VenomStrength, VenomTime, Frequency, Poisoner), self.Name + 'ReVenom')
-
-
-
-
- def LaunchTrail(self, EntityName, EventName):
- me = Bladex.GetEntity(EntityName)
- if me and me.InvRight:
- (x, y, z) = me.Rel2AbsPoint(1000.0, 0.0, 0.0)
- trail = ItemTypes.MakeHalfmoonTrail(EntityName + 'Trail', x, y, z, EntityName)
- trail.Data.ThrowReleaseEventHandler(EntityName, '')
-
-
-
- def PCImDead(self, EntityName):
- me = Bladex.GetEntity(EntityName)
- me.AddAnmEventFunc('UnlinkAll', self.UnlinkAll)
- already_death = 0
- Damage.DropInvalidObjectsOnImpact(EntityName)
- anim_name = me.AnimName
- if anim_name[0] == 'D' or anim_name[0] == 'd':
- if (anim_name[1] == 'T' or anim_name[1] == 't') and anim_name[2] == 'H' or anim_name[2] == 'h':
- already_death = 1
-
- if already_death == 0:
- death_anim = 'dth0'
- if me.MutilationsMask == 2:
- dth_prob = whrandom.uniform(0.0, 1.0)
- if dth_prob < 0.142:
- death_anim = 'dth_c1'
- elif dth_prob < 0.286:
- death_anim = 'dth_c2'
- elif dth_prob < 0.428:
- death_anim = 'dth_c3'
- elif dth_prob < 0.571:
- death_anim = 'dth_c4'
- elif dth_prob < 0.714:
- death_anim = 'dth_c5'
- elif dth_prob < 0.857:
- death_anim = 'dth_c6'
- else:
- death_anim = 'dth_c7'
- else:
- dth_prob = whrandom.uniform(0.0, 1.0)
- if dth_prob < 0.142:
- death_anim = 'dth_n00'
- elif dth_prob < 0.286:
- death_anim = 'dth_n01'
- elif dth_prob < 0.428:
- death_anim = 'dth_n02'
- elif dth_prob < 0.571:
- death_anim = 'dth_n03'
- elif dth_prob < 0.714:
- death_anim = 'dth_n04'
- elif dth_prob < 0.857:
- death_anim = 'dth_n05'
- else:
- death_anim = 'dth_n06'
- me.Wuea = Reference.WUEA_ENDED
- launch_new = 1
- if (me.MutilationsMask == 512 or me.MutilationsMask == 256) and Bladex.AnmTypeRSteps(EntityName, death_anim) > 1:
- launch_new = 0
- elif (me.MutilationsMask == 128 or me.MutilationsMask == 64) and Bladex.AnmTypeLSteps(EntityName, death_anim) > 1:
- launch_new = 0
-
- if launch_new == 1:
- me.LaunchAnmType(death_anim)
-
- if me.AnimName != death_anim:
- me.LaunchAnmType('dth0')
- if me.AnimName != 'dth0':
- print 'BUG? -> Basdic_Funcs.py , def PCImDead()'
-
-
-
- cam = Bladex.GetEntity('Camera')
- if EntityName == cam.ETarget:
- cam.SType = 0
- cam.TType = 2
- cam.ETarget = 'Player1'
-
- if Reference.DEMO_MODE == 0:
- if not (self.NPC) and netgame.GetNetState() == 0:
- if Reference.PYTHON_DEBUG >= 2:
- if me.Wuea == Reference.WUEA_ENDED:
- print 'Respawning now!, no death anim'
- self.ReSpawn(EntityName)
- else:
- me.AnmEndedFunc = self.ReSpawn
- else:
- import SaveGame
-
- try:
- object = Bladex.GetEntity(me.InvLeft)
- if me.InvLeft and object and not (object.TestHit):
- Actions.RemoveFromInventory(me, object, 'DropLeftEvent')
- object.Impulse(0.0, 0.0, 0.0)
- except AttributeError:
- pdb.set_trace()
-
-
- try:
- object = Bladex.GetEntity(me.InvRight)
- if me.InvRight and object and not (object.TestHit):
- Actions.RemoveFromInventory(me, object, 'DropRightEvent')
- object.Impulse(0.0, 0.0, 0.0)
- except AttributeError:
- pdb.set_trace()
-
- if me.Wuea == Reference.WUEA_ENDED:
- print 'no death anim... So Fade an go!'
- SaveGame.MenuStart(EntityName)
- else:
- me.AnmEndedFunc = SaveGame.MenuStart
-
- elif not (self.NPC) and netgame.GetNetState() == 0:
- Bladex.AddScheduledFunc(Bladex.GetTime() + 5.0, Bladex.LoadLevel, (Bladex.GetCurrentMap(),), 'ReloadAfterDeath')
-
-
-
- def OnKilledEnemy(self, KilledEntityName):
- Reference.debugprint('OnKilledEnemy')
- KilledEntity = Bladex.GetEntity(KilledEntityName)
- if KilledEntity is None:
- print 'OnKilledEnemy(): Error: None Entity'
- return None
-
- me = Bladex.GetEntity(self.Name)
- me.PartialLevel = me.PartialLevel + CharStats.GetCharExperienceReward(KilledEntity.CharType, KilledEntity.Level)
- LevelLimit = CharStats.GetCharExperienceCost(me.CharType, me.Level)
- if self.Name == 'Player1':
- import Scorer
- if me.PartialLevel >= LevelLimit:
- me.PartialLevel = me.PartialLevel - LevelLimit
- me.Level = me.Level + 1
- Scorer.LevelUp()
- Scorer.SetLevelLimits(0, CharStats.GetCharExperienceCost(me.CharType, me.Level))
- maxsize = 40 + 5 * me.Level
- maxPPS = 60 + 22 * me.Level
- maxint = 0.2 + 0.15 * me.Level
- AuraParams = (5, 0, 1, 0, 0, 1)
- AuraGradient = (2, 0.4, 0.6, 1.0, 0.5, 0.0, 0.1, 0.2, 1.0, 0.0, 0.8)
- AuraVar1Args = (5, maxsize, 0, 1, 0.5)
- AuraVar2Args = (maxsize, 5, 1, 0, 1.0)
- PSParams = (self.LevelUpParticleData, 'LevelUpParticle', 30, 50, 150, 255, maxPPS, -600, 0.0, 2, 2, 0.4, 30, 0.5)
- GenFX.LevelUpFX('Player1', 0, AuraParams, AuraGradient, AuraVar1Args, AuraVar2Args, PSParams, maxint, 'Timer15', 15, '..\\..\\Sounds\\aparicion-escudo.wav')
- if me.Life > 0:
- me.ResetWounds()
- me.Life = CharStats.GetCharMaxLife(me.Kind, me.Level)
-
- Scorer.SlideTBS(0)
-
- if netgame.GetNetState() == 0:
- Scorer.SetLevelBarValue(me.PartialLevel)
-
-
-
-
- def RespondToHit(self, EntityName, AttackerName, DamagePoints, DamageZone, Shielded):
- me = Bladex.GetEntity(EntityName)
- weapon_flag = Reference.W_FLAG_1H
- if me.InvRight:
- weapon_flag = Reference.GiveWeaponFlag(me.InvRight)
-
- if DamagePoints <= 0 and Shielded and me.GetInventory().GetMagicShield():
- return None
-
- if me and me.Life > 0:
- damage_factor = DamagePoints / (me.Life + DamagePoints)
- if damage_factor > me.Data.DamageFactorNone:
- if DamageZone >= 0 and DamageZone < 32:
- me.SetWoundedZone(DamageZone, 1)
-
- do_not_abort = 0
- if me.AnimName == 'df_s_broken' or me.AnimName == 'sword_broken':
- do_not_abort = 1
-
- if do_not_abort == 0:
- Damage.DropInvalidObjectsOnImpact(EntityName)
- me.Wuea = Reference.WUEA_ENDED
- if me.InCombat:
- me.InterruptCombat()
- if Shielded:
- if damage_factor <= (me.Data.DamageFactorLight + me.Data.DamageFactorHeavy) / 2.0:
- Reference.debugprint('Launching .df_01')
- if weapon_flag == Reference.W_FLAG_2W:
- me.LaunchAnmType('df_01_2w')
- elif weapon_flag == Reference.W_FLAG_AXE:
- me.LaunchAnmType('df_01_axe')
- elif weapon_flag == Reference.W_FLAG_SP:
- me.LaunchAnmType('df_01_spear')
- else:
- me.LaunchAnmType('df_01')
- else:
- Reference.debugprint('Launching .df_02')
- if weapon_flag == Reference.W_FLAG_2W:
- me.LaunchAnmType('df_02_2w')
- elif weapon_flag == Reference.W_FLAG_AXE:
- me.LaunchAnmType('df_02_axe')
- elif weapon_flag == Reference.W_FLAG_SP:
- me.LaunchAnmType('df_02_spear')
- else:
- me.LaunchAnmType('df_02')
- elif damage_factor <= me.Data.DamageFactorLight:
- Reference.debugprint('Launching .hurt_f_lite')
- me.LaunchAnmType('hurt_f_lite')
- elif damage_factor >= me.Data.DamageFactorHeavy:
- Reference.debugprint('Launching .hurt_f_big')
- me.LaunchAnmType('hurt_f_big')
- elif DamageZone == Reference.BODY_HEAD:
- Reference.debugprint('Launching .hurt_f_head')
- me.LaunchAnmType('hurt_f_head')
- elif DamageZone == Reference.BODY_FRONT:
- Reference.debugprint('Launching .hurt_f_breast')
- me.LaunchAnmType('hurt_f_breast')
- elif DamageZone == Reference.BODY_BACK:
- Reference.debugprint('Launching .hurt_f_back')
- me.LaunchAnmType('hurt_f_back')
- elif DamageZone == Reference.BODY_RARM or DamageZone == Reference.BODY_RHAND:
- Reference.debugprint('Launching .hurt_f_r_arm')
- me.LaunchAnmType('hurt_f_r_arm')
- elif DamageZone == Reference.BODY_LARM or DamageZone == Reference.BODY_LHAND:
- Reference.debugprint('Launching .hurt_f_l_arm')
- me.LaunchAnmType('hurt_f_l_arm')
- elif DamageZone == Reference.BODY_RLEG or DamageZone == Reference.BODY_RFOOT:
- Reference.debugprint('Launching .hurt_f_r_leg')
- me.LaunchAnmType('hurt_f_r_leg')
- elif DamageZone == Reference.BODY_LLEG or DamageZone == Reference.BODY_LFOOT:
- Reference.debugprint('Launching .hurt_f_l_leg')
- me.LaunchAnmType('hurt_f_l_leg')
-
- elif me.Run:
- Reference.debugprint('Launching .hurt_jog')
- me.LaunchAnmType('hurt_jog')
- elif Shielded:
- if damage_factor <= (me.Data.DamageFactorLight + me.Data.DamageFactorHeavy) / 2.0:
- Reference.debugprint('Launching .df_01')
- if weapon_flag == Reference.W_FLAG_2W:
- me.LaunchAnmType('df_01_2w')
- elif weapon_flag == Reference.W_FLAG_AXE:
- me.LaunchAnmType('df_01_axe')
- elif weapon_flag == Reference.W_FLAG_SP:
- me.LaunchAnmType('df_01_spear')
- else:
- me.LaunchAnmType('df_01')
- else:
- Reference.debugprint('Launching .df_02')
- if weapon_flag == Reference.W_FLAG_2W:
- me.LaunchAnmType('df_02_2w')
- elif weapon_flag == Reference.W_FLAG_AXE:
- me.LaunchAnmType('df_02_axe')
- elif weapon_flag == Reference.W_FLAG_SP:
- me.LaunchAnmType('df_02_spear')
- else:
- me.LaunchAnmType('df_02')
- elif DamageZone == Reference.BODY_HEAD:
- Reference.debugprint('Launching .hurt_head')
- me.LaunchAnmType('hurt_head')
- elif DamageZone == Reference.BODY_FRONT:
- Reference.debugprint('Launching .hurt_breast')
- me.LaunchAnmType('hurt_breast')
- elif DamageZone == Reference.BODY_BACK:
- Reference.debugprint('Launching .hurt_back')
- me.LaunchAnmType('hurt_back')
- elif DamageZone == Reference.BODY_RARM or DamageZone == Reference.BODY_RHAND:
- Reference.debugprint('Launching .hurt_r_arm')
- me.LaunchAnmType('hurt_r_arm')
- elif DamageZone == Reference.BODY_LARM or DamageZone == Reference.BODY_LHAND:
- Reference.debugprint('Launching .hurt_l_arm')
- me.LaunchAnmType('hurt_l_arm')
- elif DamageZone == Reference.BODY_RLEG or DamageZone == Reference.BODY_RFOOT:
- Reference.debugprint('Launching .hurt_r_leg')
- me.LaunchAnmType('hurt_r_leg')
- elif DamageZone == Reference.BODY_LLEG or DamageZone == Reference.BODY_LFOOT:
- Reference.debugprint('Launching .hurt_l_leg')
- me.LaunchAnmType('hurt_l_leg')
-
-
-
-
-
-
- def StdNewCombo(self, EntityName, ComboName):
- if netgame.GetNetState() == 0:
- import GameText
- me = Bladex.GetEntity(EntityName)
- if EntityName != 'Player1':
- return None
-
- ComboTXT = GameText.GetComboName(EntityName, ComboName)
- if ComboTXT:
- GameText.WriteTextAux(MenuText.GetMenuText('New Attack') + ': ' + ComboTXT, 2.0, 255, 255, 255, [])
- new_combo_sound.Stop()
- new_combo_sound.PlayStereo()
-
-
-
-
- def StdBigFall(self, EntityName, Dist):
- me = Bladex.GetEntity(EntityName)
- chartype = Bladex.GetCharType(me.CharType, me.CharTypeExt)
- if Dist >= chartype.DieFall:
- return None
-
- if Dist < 5000:
- return None
-
- diff = (Dist - 5000.0) * 0.001
- fall_damage = ((Dist - 5000.0) / (chartype.DieFall - 5000)) * 70.0
- me.Life = me.Life - fall_damage
- if netgame.GetNetState() == 1:
- if me.Life <= 0:
- Damage.PlayerHitFunc(me.Name, 'Fall', me.Life, 1)
-
-
-
-
- def RegisterObjectAsTaken(self, ObjectName):
- object = Bladex.GetEntity(ObjectName)
- if object:
- kind = object.Kind
- if not self.ObjectsTaken.count(kind):
- self.ObjectsTaken.append(kind)
-
-
-
-
- def WasObjectAlreadyTaken(self, ObjectName):
- object = Bladex.GetEntity(ObjectName)
- if object:
- kind = object.Kind
- return self.ObjectsTaken.count(kind)
-
-
-
- def GetObjectsTaken(self):
- return self.ObjectsTaken
-
-
-