3 killer = Crossfire.WhoIsActivator()
6 if killer.Owner
is None and killer.Type == Crossfire.Type.PLAYER:
8 weap = killer.CurrentWeapon
10 if weap !=
None and weap.Applied == 1
and weap.Cursed == 1
and weap.Title ==
'of Souls' and weap.ItemPower < 115:
12 victim = Crossfire.WhoAmI()
13 if victim
is not None:
14 old_level = weap.ItemPower
15 old_xp = weap.TotalExp
19 weap.AddExp(
int(victim.Exp * (1.0 + weap.ItemPower / 115.0)) // 2)
22 delta_exp = weap.TotalExp - old_xp
28 victim.Exp -= delta_exp
32 exceed_item_power = ((killer.ItemPower + weap.ItemPower - old_level) > killer.Level)
38 if weap.ItemPower != old_level:
39 killer.ItemPower = killer.ItemPower + weap.ItemPower - old_level
44 do_level_up = old_level != weap.ItemPower
or exceed_item_power
or weap.Str < 0
47 if do_level_up ==
True:
49 killer.Write(
"You can feel the "+weap.Name+
" pulse darkly in your hand.")
52 if exceed_item_power ==
True:
55 killer.Write(
"The "+weap.Name+
" is overwhelming your body!")
66 weap.LastSP = weap.Archetype.Clone.LastSP * 2
72 weap.Str = weap.Archetype.Clone.Str + weap.ItemPower // 10
73 weap.Dam = weap.Archetype.Clone.Dam + weap.ItemPower // 2
74 weap.WC = weap.Archetype.Clone.WC + weap.ItemPower // 5
75 weap.HP = weap.Archetype.Clone.HP - 10 + weap.ItemPower
76 weap.SP = weap.Archetype.Clone.SP - 10 + weap.ItemPower // 17
77 weap.Grace = weap.Archetype.Clone.Grace - 10 + weap.ItemPower // 19
78 weap.Food = weap.Archetype.Clone.Food - 10 + weap.ItemPower // 23
79 weap.LastSP = weap.Archetype.Clone.LastSP - weap.ItemPower // 11
83 weap.Weight = weap.Archetype.Clone.Weight + 100 * weap.ItemPower
85 if weap.ItemPower >= 115:
86 weap.AttackType = weap.Archetype.Clone.AttackType + Crossfire.AttackType.WEAPONMAGIC + Crossfire.AttackType.GODPOWER + Crossfire.AttackType.PARALYZE + Crossfire.AttackType.DEPLETE + Crossfire.AttackType.LIFE_STEALING
87 elif weap.ItemPower >= 52:
88 weap.AttackType = weap.Archetype.Clone.AttackType + Crossfire.AttackType.WEAPONMAGIC + Crossfire.AttackType.PARALYZE + Crossfire.AttackType.DEPLETE + Crossfire.AttackType.LIFE_STEALING
89 elif weap.ItemPower >= 39:
90 weap.AttackType = weap.Archetype.Clone.AttackType + Crossfire.AttackType.PARALYZE + Crossfire.AttackType.DEPLETE + Crossfire.AttackType.LIFE_STEALING
91 elif weap.ItemPower >= 26:
92 weap.AttackType = weap.Archetype.Clone.AttackType + Crossfire.AttackType.DEPLETE + Crossfire.AttackType.LIFE_STEALING
93 elif weap.ItemPower >= 13:
94 weap.AttackType = weap.Archetype.Clone.AttackType + Crossfire.AttackType.LIFE_STEALING
96 weap.AttackType = weap.Archetype.Clone.AttackType