The purpose of this mod is to create a mod that provides status effects that can be called from other mods. It does not include, in and of itself, any means of inflicting said status conditions: that is up to other mods. Why do this? Well, it makes for a more standard presentation of debuffs across mods. It also means that multiple mods will have less collisions between spells. This is in development and will be added to over the next two weeks or so. If you have a status condition you want to add, feel free to post it here: be warned, however, that it may be altered per suggestions made in this thread. The next post on this thread will include a code box of this mod's spellDB. I'll put together an actual mod for this when I get some more things to include and attach it here at that point.
Code: <spellDB> <!-- GENERAL DEBUFFS --> <!-- Sapped Life original source: Vaults of Maslech --> <spell name="Sapped Life" type="target" icon="skills/bleeding_out32.png" > <anim sprite="sprites/sfx/null" frames="2" framerate="100" sfx="naughty" /> <buff useTimer="1" time="30" bad="1" removable="0" allowStacking="1" stacksize="10" self="0" icon="skills/bleeding_out64.png" smallicon="skills/bleeding_out32.png" > <primarybuff id="0" amount="-2" /> <primarybuff id="1" amount="-2" /> <primarybuff id="2" amount="-2" /> <primarybuff id="3" amount="-2" /> <primarybuff id="4" amount="-2" /> <primarybuff id="5" amount="-2" /> <secondarybuff id="0" amount="-5" /> <secondarybuff id="2" amount="-2" /> <secondarybuff id="13" amount="-2" /> <secondarybuff id="14" amount="-2" /> </buff> <description text="You can feel your strength slipping away..." /> </spell> <!-- POISONS AND TOXINS --> <!-- Debilitating Toxin original source: Summoner --> <spell name="Debilitating Toxin" type="target" icon="skills/vile_poison32.png" > <anim sprite="sprites/sfx/null" frames="2" framerate="100" /> <buff useTimer="1" time="15" allowStacking="1" stacksize="15" icon="skills/vile_poison64.png" smallicon="skills/vile_poison32.png" > <secondarybuff id="2" amount="-1" /> <secondarybuff id="4" amount="-3" /> </buff> </spell> <!-- COATED IN [SUBSTANCE] --> <!-- Coated in Oil/Toxic Burns original source: Zodiac --> <spell name="Toxic Burns" type="target" icon="skills/wizard/spell_water5_64.png"> <description text="OH GOD IT BURNS WHY DOES IT BURN"/> <effect type="damage" toxic="1" toxicF="0.1" /> <anim sprite="sprites/sfx/glintA/glintA" frames="5" framerate="60" sfx="ping" /> </spell> <spell name="Coated in Oil" type="target" icon="skills/wizard/spell_water5_64.png"> <description text="OH GOD ITS EVERYWHERE"/> <buff useTimer="0" removeable="0" brittle="2" allowstacking="1" stackSize="3" self="0" icon="skills/wizard/spell_water5_64.png" smallicon="skills/wizard/spell_water5_32.png"> <resistbuff conflagratory="-2" /> <effect type="dot" spell="Toxic Burns" amount="3" resistable="0" requirebuff="1" /> <halo name="sprites/sfx/oildrip/oildrip" first="0" num="4" frameRate="100"/> </buff> <anim sprite="sprites/sfx/glintA/glintA" frames="5" framerate="60" sfx="ping" /> </spell> <!-- Drenched original source: Null --> <spell name="Drenched" type="target" icon="skills/wizard/spell_water5_32.png"> <buff useTimer="1" time="14" allowStacking="0" stacksize="1" self="0" bad="1" icon="skills/wizard/spell_water5_32.png"> <resistbuff voltaic="-3" aspyxiative="-1"/> <secondarybuff id="6" amount="-10" /> <!-- dodge --> <secondarybuff id="11" amount="-10" /> <!-- resist --> </buff> </spell> <!-- BUILD-UP AND WANE BUFFS --> <!-- Growing Rage original source: FaxPax --> <spell name="Growing Rage" type="self" icon="skills/warrior/berserker0_64.png" wand="0" > <buff useTimer="1" time="6" self="1" stackable="1" resistable="0" stacksize="6" icon="skills/warrior/berserker0_64.png" smallicon="skills/warrior/berserker0_32.png" > <primarybuff id="0" amount="2"/> <!-- Burliness --> <secondarybuff id="2" amount="1" /> <!-- melee power --> <damagebuff crushing="1"/> </buff> </spell> <spell name="DoT Rage" type="self" icon="skills/warrior/berserker0_64.png" wand="0" > <anim sprite="sprites/sfx/rage/rage" frames="3" framerate="50" sfx="ping" /> <effect type="dot" amount="6" spell="Growing Rage" resistable="0" /> </spell> <!-- Building Magic Shield original source: FaxPax --> <spell name="Building Magic Shield" type="self" icon="skills/conflux64.png" wand="0" > <buff useTimer="1" time="10" self="1" stackable="1" stacksize="10" resistable="0" icon="skills/conflux64.png" smallicon="skills/conflux32.png" > <secondarybuff id="11" amount="5" /> <!-- resist --> <resistbuff aethereal="1" necromantic="1" conflagratory="1" hyperborean="1" voltaic="1" /> </buff> </spell> <spell name="Antimagic Buff" type="self" icon="skills/conflux64.png" wand="0" > <anim sprite="sprites/sfx/target/target" frames="5" framerate="90" sfx="cursed" centerEffect="1"/> <effect type="dot" amount="10" spell="Building Magic Shield" resistable="0" /> <effect type="trigger" spell="Antimagic Field" /> </spell> </spellDB>
Ya know... calling upon stuff from another mod, in a mod, is sketchy at best. I know this because I have tried to add recepies in a mod, that used items in another mod. They were not recognized(the item was a blank in the recepie in the in-game craft system).
So, if we are going for standardization, then they will have to be more generalized than some of the things in the XML you provided, no? I guess that all of the buffs / debuffs could coincide, so it doesn't really matter. In any case I'll start things off with some ideas... Burning Poisoned Chilled Crippled Bleeding Blinded Enraged Cursed Frozen Paralyzed
Also Wet, and Burning already exists in On Fire. Code: <spell name="Drenched" type="target" icon="skills/wizard/spell_water5_32.png"> <buff useTimer="1" time="14" allowStacking="0" stacksize="1" self="0" bad="1" icon="skills/wizard/spell_water5_32.png"> <resistbuff voltaic="-3" aspyxiative="-1"/> <secondarybuff id="6" amount="-10" /> <!-- dodge --> <secondarybuff id="11" amount="-10" /> <!-- resist --> </buff> </spell> All the icons here need to be copied as well so there aren't any collisions. The names should probably also get extra spaces or something to avoid being the same as some mod's buff. Or they could use unique names. Also I'm going to suggest to Nicholas a way to check if a spell exists since that should be trivial to code probably.
These have already been handled somewhat by the game proper: However, poisoned and crippled could certainly use some variants.
Well that's mostly from Wind Magic's Eye of the Storm spell, but I don't care. I'm not a fan of giving sources at all; they aren't relevant to the buffs and the buffs shouldn't be based heavily on the source, but be more generic. As well, Oil almost definitely should not have toxic burns as part of the buff.
For the "Crippled" effect, I think that it should just trigger one of three effects ("Crippled Arm", stacking up to two instances and decreasing melee power, counter, and block; "Crippled Leg", stacking up to two instances and decreasing dodge and sneakiness; and "Crippled Torso", stacking up to one instance and decreasing general stats and both health and mana regeneration) randomly, with the chance to get each of those being equal (or near-equal). And for the "Poisoned" effect, it depends on how complicated we want the whole thing to be. If we want it to be kept simple, it likely ought to be left as just one effect. And if we want it to be slightly more diverse (read it as "Kazeto is lacking sleep again and proposing something outrageous"), then we can just split it like that, with the poison debuffs being constant (every poison-inflicting thing would always inflict the same kind of poison, unless it somehow has access to more than one such effect): Normal poison - deals normal (for poisons) damage, does nothing else. Weakening poison - deals low damage, decreases maximal health and melee power. Numbing poison - deals almost no damage, has a small chance (10~15%) to paralyse the target every turn, increases AA by a few points (1~2) but decreases nimbleness (a moderate-to-high decrease) and burliness (a slight decrease). Nerve poison - deals low damage, has a high chance (35~40%) to paralyse the target every turn. Concentrated poison - deals high damage, there is a chance to trigger an effect that deals toxic damage to surrounding area when you are hit (because "acid blood" and other "Alien" references). Detox toxin- not really a poison (more like "unpoison poison", if we think about the name), but deals minimal damage and decreases maximum mana and mana regeneration. Brain bleach - deals low damage, decreases maximum mana and magic power.
I have a spell effect in my swashbucklers mod that uses a "wet" status. however, my version only has a penalty to voltaic resist. I also created some "poisoned" status effect. Swashbucklers mod has poisonous brazilian frogs, and the poisons that you produce from them can induce these effects: Code: <!-- Venom Spear, Venom Dart, Frog Venom --> <spell name="Venom Spear Strike" type="target" icon="skills/spells/dragons_breath32.png" wand="0"> <effect type="trigger" amount="1" affectsCorpses="0" spell="Neurotoxin" taxa="Player" /> <effect type="trigger" amount="1" affectsCorpses="0" spell="Neurotoxin" affectscaster="0" taxa="Demon" /> <effect type="trigger" amount="1" affectsCorpses="0" spell="Neurotoxin" affectscaster="0" taxa="Animal" /> <effect type="trigger" amount="1" affectsCorpses="0" spell="Neurotoxin" affectscaster="0" taxa="Vegetable" /> <effect type="trigger" amount="1" affectsCorpses="0" spell="Neurotoxin" affectscaster="0" taxa="Other" /> </spell> <spell name="Venom Paralysis" type="target" icon="skills/rogue/skill_assassination1_32.png" > <effect type="damage" toxic="2" asphyxiative="2" affectscaster="1" /> <effect type="paralyze" turns="1" amount="6" affectscaster="1" /> </spell> <spell name="Neurotoxin" type="target" icon="skills/neurotoxin32.png" > <effect type="removebuffbyname" name="Neurotoxin" amount="1" /> <anim sprite="sprites/sfx/psionic_generic/psionic_generic" frames="5" framerate="100" centerEffect="1" sfx="darkmagic" /> <buff useTimer="1" time="20" self="0" allowstacking="0" stacksize="1" icon="skills/neurotoxin64.png" smallicon="skills/neurotoxin32.png" bad="1" > <secondarybuff id="13" amount="-8" /> <!-- life regen --> <secondarybuff id="0" amount="-8" /> <!-- life --> <primarybuff id="0" amount="-1" /> <primarybuff id="1" amount="-5" /> <primarybuff id="2" amount="-5" /> <primarybuff id="3" amount="-2" /> <primarybuff id="4" amount="-2" /> <primarybuff id="5" amount="-5" /> </buff> <effect type="dot" amount="20" spell="Venom Paralysis" resistable="0" /> <description text="This poison prevents neural control of the body, leading to paralysis and aspyxiation." /> </spell> <!-- Neurotoxin Flask --> <spell name="Potent Neurotoxin" type="target" icon="skills/potent_neurotoxin32.png" > <effect type="removebuffbyname" name="Potent Neurotoxin" amount="1" /> <anim sprite="sprites/sfx/psionic_generic/psionic_generic" frames="5" framerate="100" centerEffect="1" sfx="darkmagic" /> <buff useTimer="1" time="20" self="0" allowstacking="0" stacksize="1" icon="skills/potent_neurotoxin64.png" smallicon="skills/potent_neurotoxin32.png" bad="1" > <secondarybuff id="13" amount="-8" /> <!-- life regen --> <secondarybuff id="0" amount="-8" /> <!-- life --> <primarybuff id="0" amount="-2" /> <primarybuff id="1" amount="-10" /> <primarybuff id="2" amount="-10" /> <primarybuff id="3" amount="-4" /> <primarybuff id="4" amount="-4" /> <primarybuff id="5" amount="-10" /> </buff> <effect type="dot" amount="20" spell="Venom Paralysis2" resistable="0" /> <description text="This deadly poison prevents neural control of the body, leading to near instantaneous paralysis and aspyxiation." /> </spell> <spell name="Potent Neurotoxin Canceled" type="target" icon="skills/potent_neurotoxin32.png" > <effect type="removebuffbyname" name="Potent Neurotoxin" amount="1" /> <description text="This deadly poison prevents neural control of the body, leading to near instantaneous paralysis and aspyxiation." /> </spell> <spell name="Venom Paralysis2" type="target" icon="skills/rogue/skill_assassination1_32.png" > <effect type="damage" toxic="3" toxicF=".5" asphyxiative="3" asphyxiativeF=".5" secondaryScale="21" affectscaster="1" /> <effect type="confuse" self="0" amount="7"/> <effect type="paralyze" turns="1" amount="5" /> <anim sprite="sprites/sfx/psionic_generic/psionic_generic" frames="5" framerate="70" /> </spell> <spell name="Neurotoxin Strike" type="target" icon="skills/spells/dragons_breath32.png" wand="0"> <effect type="trigger" amount="1" affectsCorpses="0" spell="Potent Neurotoxin" self="0" taxa="Demon" /> <effect type="trigger" amount="1" affectsCorpses="0" spell="Potent Neurotoxin" self="0" taxa="Animal" /> <effect type="trigger" amount="1" affectsCorpses="0" spell="Potent Neurotoxin" self="0" taxa="Vegetable" /> <effect type="trigger" amount="1" affectsCorpses="0" spell="Potent Neurotoxin" self="0" taxa="Other" /> <effect type="trigger" amount="1" affectsCorpses="0" requirebuffontrigger="1" requirebuffontriggername="Thaumomechnical Rebreather" spell="Potent Neurotoxin Canceled" taxa="Player" /> </spell>
I would say "depends on what exactly you want to to be done to it now", but generally speaking yes. Though you might want to take my opinion with a lot of salt now (whatever I wrote) since I'm rather tired and don't really trust myself to be coherent or have any intellectual capacity (well, yay for overworking myself).
The point of this would be so that other mods could draw upon this mod. Rather than every poisoner mod having their own (possibly different) "Potent Venom" debuff, they'd just point at the Potent Venom debuff in this one.
I know what the point is, Fax. Though thank you for trying to explain it once again. My point (at this very moment) can be summed up with "putting the code is one thing and discussing it one thing too, but currently I'm too fatigued to be capable of anything (due to overworking myself, not on purpose but rather out of necessity) so I will just say 'yes' because that's what I said the last time and it has not changed.". Well, I'm tired now...