I can't seem to find a concrete answer to this - what exactly does crushing, crippling, wounding and tormenting do, and how are these effects saved against? I noticed I had been doing all sorts of random status effects such as pinning, stunning, blinding, confusing and so forth just by attacking with my daggers/bows with these these 3 egos, but because I don't exactly know how these things are being calculated I'm not sure whether weapons which don't have these traits but have other advantages are good for me.
Edit: Added crushing to the list!
What do these egos do? (Evis/Crip/Torm/Grav etc.)
Moderator: Moderator
Re: What do these egos do? (Eviseration, Crippling, Torment)
Crippling and eviscerating are applied with accuracy, saved with physical save. Torment is mindpower vs. Mind save. Here's the code, which is hopefully clear enough:
EDIT:
Code: Select all
newEntity{
45 power_source = {technique=true},
46 name = " of crippling", suffix=true, instant_resolve=true,
47 keywords = {crippling=true},
48 level_range = {1, 50},
49 rarity = 3,
50 cost = 4,
51 wielder = {
52 combat_physcrit = resolvers.mbonus_material(10, 5),
53 },
54 combat = {
55 special_on_crit = {desc="cripple the target", fct=function(combat, who, target)
56 local power = 5 + (who:combatPhysicalpower()/5)
57 target:setEffect(target.EFF_CRIPPLE, 4, {src=who, atk=power, dam=power, apply_power=who:combatAttack(combat)})
58 end},
59 },
60 }
Code: Select all
newEntity{
113 power_source = {technique=true},
114 name = " of evisceration", suffix=true, instant_resolve=true ,
115 keywords = {evisc=true},
116 level_range = {30, 50},
117 greater_ego = 1,
118 rarity = 20,
119 cost = 40,
120 wielder = {
121 combat_physcrit = resolvers.mbonus_material(10, 5),
122 combat_dam = resolvers.mbonus_material(10, 5),
123 },
124 combat = {
125 special_on_crit = {desc="wounds the target", fct=function(combat, who, target)
126 local dam = 5 + (who:combatPhysicalpower()/5)
127 if target:canBe("cut") then
128 target:setEffect(target.EFF_DEEP_WOUND, 7, {src=who, heal_factor=dam * 2, power=dam, apply_power=who:combatAttack()})
129 end
130 end},
131 },
132 }
Code: Select all
newEntity{
907 power_source = {psionic=true},
908 name = " of torment", suffix=true, instant_resolve=true,
909 keywords = {torment=true},
910 level_range = {30, 50},
911 greater_ego = 1,
912 rarity = 30,
913 cost = 30,
914 wielder = {
915 resists_pen = {
916 [DamageType.MIND] = resolvers.mbonus_material(10, 5),
917 [DamageType.DARKNESS] = resolvers.mbonus_material(10, 5),
918 },
919 },
920 combat = {
921 special_on_hit = {desc="20% chance to torment the target", fct=function(combat, who, target)
922 if not rng.percent(20) then return end
923 local eff = rng.table{"stun", "blind", "pin", "confusion", "silence",}
924 if not target:canBe(eff) then return end
925 if not who:checkHit(who:combatMindpower(), target:combatMentalResist()) then return end
926 if eff == "stun" then target:setEffect(target.EFF_STUNNED, 3, {})
927 elseif eff == "blind" then target:setEffect(target.EFF_BLINDED, 3, {})
928 elseif eff == "pin" then target:setEffect(target.EFF_PINNED, 3, {})
929 elseif eff == "confusion" then target:setEffect(target.EFF_CONFUSED, 3, {power=60})
930 elseif eff == "silence" then target:setEffect(target.EFF_SILENCED, 3, {})
931 end
932 end},
933 },
934 }
Code: Select all
newEntity{
569 power_source = {nature=true},
570 name = " of gravity", suffix=true, instant_resolve=true,
571 keywords = {gravity=true},
572 level_range = {30, 50},
573 greater_ego = 1,
574 rarity = 30,
575 cost = 30,
576 wielder = {
577 inc_damage = {
578 [DamageType.PHYSICAL] = resolvers.mbonus_material(10, 5),
579 },
580 },
581 combat = {
582 melee_project={
583 [DamageType.GRAVITY] = resolvers.mbonus_material(15, 5),
584 },
585 special_on_hit = {desc="25% chance to crush the target", fct=function(combat, who, target)
586 if not rng.percent(25) then return end
587 if target:attr("never_move") then
588 local tg = {type="hit", range=1}
589 who:project(tg, target.x, target.y, engine.DamageType.IMPLOSION, 10 + who:combatMindpower()/4)
590 elseif target:canBe("pin") then
591 target:setEffect(target.EFF_PINNED, 3, {src=who, apply_power=who:combatAttack(combat)})
592 else
593 game.logSeen(target, "%s resists the pin!", target.name:capitalize())
594 end
595 end},
596 },
597 }
Last edited by lukep on Sun Jan 06, 2013 6:23 pm, edited 1 time in total.
Re: What do these egos do? (Evis/Crip/Torm/Grav etc.)
Thanks very helpful! How do you search the code for these things 

Re: What do these egos do? (Evis/Crip/Torm/Grav etc.)
I found it through the git page (http://git.develz.org/?p=tome.git;a=summary), and you can also extract it from the module (in TOME FOLDER/game/modules/tome-1.0.0.teaa) as a .zip. I found those snippits in data/general/objects/egos/weapons.lua.
As for more general code searching tips, most of the important things are in damagetypes.lua, the various talent files, mod/class/interface/combat.lua, and maybe the timed effect files.
EDIT: also added gravity to post above.
As for more general code searching tips, most of the important things are in damagetypes.lua, the various talent files, mod/class/interface/combat.lua, and maybe the timed effect files.
EDIT: also added gravity to post above.
-
- Archmage
- Posts: 372
- Joined: Fri Jan 20, 2012 12:13 am
Re: What do these egos do? (Evis/Crip/Torm/Grav etc.)
If you can't tell from the code, Gravity pins with accuracy vs. physical power, and against pinned targets instead applies a slow and a damage-over-time effect based on mindpower.
<Ferret> The Spellblaze was like a nuclear disaster apparently: ammo became the "real" currency.