Skip to content

Commit

Permalink
Added a bunch of spells to wizards.
Browse files Browse the repository at this point in the history
  • Loading branch information
Putnam3145 committed Apr 16, 2014
1 parent a309bf3 commit 5bd847f
Show file tree
Hide file tree
Showing 3 changed files with 194 additions and 6 deletions.
71 changes: 65 additions & 6 deletions hack/mods/dark wizard tower/creature_wizard_fantastic.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ creature_wizard_fantastic
[DESCRIPTION:A medium-sized creature prone to greater ambition.]
[NAME:dark wizard:dark wizards:dark wizard]
[CASTE_NAME:dark wizard:dark wizards:dark wizard]
[CREATURE_TILE:64][COLOR:3:0:0]
[CREATURE_TILE:'@'][COLOR:3:0:0]
[CASTE_TILE:'@']
[LIKES_FIGHTING]
[INTELLIGENT]
[CANOPENDOORS]
[NO_SLEEP][NO_EAT][NO_DRINK][NOEMOTION]
Expand Down Expand Up @@ -170,7 +172,7 @@ creature_wizard_fantastic
[SPOUSE_CONVERSION_TARGET]
[MUNDANE]
[CAN_DO_INTERACTION:MATERIAL_EMISSION]
[CDI:ADV_NAME:Use magic missile]
[CDI:ADV_NAME:Magic missile]
[CDI:USAGE_HINT:ATTACK]
[CDI:BP_REQUIRED:BY_CATEGORY:MOUTH]
[CDI:MATERIAL:INORGANIC:MAGIC_MISSILE_WIZARD_FANTASTIC_P:SOLID_GLOB]
Expand All @@ -180,25 +182,82 @@ creature_wizard_fantastic
[CDI:MAX_TARGET_NUMBER:C:1]
[CDI:WAIT_PERIOD:150]
[CAN_DO_INTERACTION:MATERIAL_EMISSION]
[CDI:ADV_NAME:Use stunning spell]
[CDI:ADV_NAME:Stunning spell]
[CDI:USAGE_HINT:ATTACK]
[CDI:BP_REQUIRED:BY_CATEGORY:MOUTH]
[CDI:MATERIAL:INORGANIC:STUN_SPELL_WIZARD_FANTASTIC_P:SOLID_GLOB]
[CDI:VERB:use a stunning spell:uses a stunning spell:NA]
[CDI:TARGET:C:LINE_OF_SIGHT]
[CDI:TARGET_RANGE:C:15]
[CDI:MAX_TARGET_NUMBER:C:1]
[CDI:WAIT_PERIOD:400]
[CDI:WAIT_PERIOD:1200]
[CAN_DO_INTERACTION:MATERIAL_EMISSION]
[CDI:ADV_NAME:Use killing spell]
[CDI:ADV_NAME:Killing spell]
[CDI:USAGE_HINT:ATTACK]
[CDI:BP_REQUIRED:BY_CATEGORY:MOUTH]
[CDI:MATERIAL:INORGANIC:KILL_SPELL_WIZARD_FANTASTIC_P:SOLID_GLOB]
[CDI:VERB:use a killing spell:uses a killing spell:NA]
[CDI:TARGET:C:LINE_OF_SIGHT]
[CDI:TARGET_RANGE:C:15]
[CDI:MAX_TARGET_NUMBER:C:1]
[CDI:WAIT_PERIOD:2400]
[CDI:WAIT_PERIOD:4800]
[CAN_DO_INTERACTION:CRAZE_CURSE_WIZARD_FANTASTIC_P]
[CDI:ADV_NAME:Craze]
[CDI:USAGE_HINT:ATTACK]
[CDI:TARGET:A:LINE_OF_SIGHT]
[CDI:TARGET_RANGE:A:15]
[CDI:VERB:gesture:gestures:NA]
[CDI:TARGET_VERB:realize that everyone is now against you:begins gibbering uncontrollably]
[CDI:MAX_TARGET_NUMBER:A:1]
[CDI:WAIT_PERIOD:1200]
[CAN_DO_INTERACTION:RAISE_DEAD_WIZARD_FANTASTIC_P]
[CDI:ADV_NAME:Animate corpse]
[CDI:TARGET:A:LINE_OF_SIGHT]
[CDI:TARGET_RANGE:A:10]
[CDI:VERB:gesture:gestures:NA]
[CDI:TARGET_VERB:shudder and begin to move:shudders and begins to move]
[CDI:WAIT_PERIOD:10]
[CAN_DO_INTERACTION:PAIN_CURSE_WIZARD_FANTASTIC_P]
[CDI:ADV_NAME:Torture]
[CDI:USAGE_HINT:ATTACK]
[CDI:TARGET:A:LINE_OF_SIGHT]
[CDI:TARGET_RANGE:A:15]
[CDI:VERB:gesture:gestures:NA]
[CDI:TARGET_VERB:feel pain screaming through your body:begins writhing in pain]
[CDI:MAX_TARGET_NUMBER:A:1]
[CDI:WAIT_PERIOD:600]
[CAN_DO_INTERACTION:HIDE_WIZARD_FANTASTIC_P]
[CDI:ADV_NAME:Hide]
[CDI:USAGE_HINT:FLEEING]
[CDI:TARGET:A:SELF_ONLY]
[CDI:VERB:tap yourself on the head:taps theirself on the head:NA]
[CDI:TARGET_VERB:turn invisible:turns invisible with a crack]
[CDI:MAX_TARGET_NUMBER:A:1]
[CDI:WAIT_PERIOD:600]
[CAN_DO_INTERACTION:DEMI1_WIZARD_FANTASTIC_P]
[CDI:ADV_NAME:Gravity1 (removes 1/4 of enemy's blood)]
[CDI:USAGE_HINT:ATTACK]
[CDI:VERB:gesture:gestures:NA]
[CDI:TARGET_VERB:turn pale:turns very pale]
[CDI:TARGET_RANGE:A:20]
[CDI:MAX_TARGET_NUMBER:A:1]
[CDI:WAIT_PERIOD:600]
[CAN_DO_INTERACTION:DEMI2_WIZARD_FANTASTIC_P]
[CDI:ADV_NAME:Gravity2 (removes 1/2 of enemy's blood)]
[CDI:USAGE_HINT:ATTACK]
[CDI:VERB:gesture:gestures:NA]
[CDI:TARGET_VERB:turn pale:turns very pale]
[CDI:TARGET_RANGE:A:20]
[CDI:MAX_TARGET_NUMBER:A:1]
[CDI:WAIT_PERIOD:1200]
[CAN_DO_INTERACTION:DEMI3_WIZARD_FANTASTIC_P]
[CDI:ADV_NAME:Gravity3 (removes 3/4 of enemy's blood)]
[CDI:USAGE_HINT:ATTACK]
[CDI:VERB:gesture:gestures:NA]
[CDI:TARGET_VERB:turn pale:turns very pale]
[CDI:TARGET_RANGE:A:20]
[CDI:MAX_TARGET_NUMBER:A:1]
[CDI:WAIT_PERIOD:1800]
[CASTE:FEMALE]
[FEMALE]
[MULTIPLE_LITTER_RARE]
Expand Down
120 changes: 120 additions & 0 deletions hack/mods/dark wizard tower/interaction_wizard_fantastic.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,123 @@ interaction_wizard_fantastic

[OBJECT:INTERACTION]

[INTERACTION:CRAZE_CURSE_WIZARD_FANTASTIC_P]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_AFFECTED_CLASS:GENERAL_POISON]
[IT_MANUAL_INPUT:target]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[SYN_NAME:crazed]
[CE_ADD_TAG:CRAZED:START:0:END:3600]

[INTERACTION:DONOTHING_WIZARD_FANTASTIC_P]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_IMMUNE_CLASS:GENERAL_POISON]
[IT_MANUAL_INPUT:target]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[CE_ADD_TAG:SUPERNATURAL:START:0:END:1]

[INTERACTION:PAIN_CURSE_WIZARD_FANTASTIC_P]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_FORBIDDEN:NOPAIN]
[IT_MANUAL_INPUT:victim]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[SYN_NAME:pain curse]
[SYN_AFFECTED_CLASS:GENERAL_POISON]
[CE_PAIN:SEV:800000:PROB:100:BP:BY_CATEGORY:ALL:BONE:BP:BY_CATEGORY:ALL:NERVE:START:0:PEAK:160:END:800]

[INTERACTION:DEMI1_WIZARD_FANTASTIC_P]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_CANNOT_TARGET_IF_ALREADY_AFFECTED]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[CE_CAN_DO_INTERACTION:START:0:END:2]
[CDI:INTERACTION:DONOTHING_WIZARD_FANTASTIC_P]
[CDI:ADV_NAME:ooh you're pale]
[CDI:USAGE_HINT:ATTACK]
[CDI:TARGET_RANGE:A:20]
[CDI:MAX_TARGET_NUMBER:A:1]
[CDI:WAIT_PERIOD:1000000000]
[SYN_CLASS:\COMMAND] syndromeTrigger command begins here
[SYN_CLASS:fantastic/demi][SYN_CLASS:\UNIT_ID][SYN_CLASS:25]
[INTERACTION:DEMI2_WIZARD_FANTASTIC_P]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_CANNOT_TARGET_IF_ALREADY_AFFECTED]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[CE_CAN_DO_INTERACTION:START:0:END:2]
[CDI:INTERACTION:DONOTHING_WIZARD_FANTASTIC_P]
[CDI:ADV_NAME:ooh you're pale]
[CDI:USAGE_HINT:ATTACK]
[CDI:TARGET_RANGE:A:20]
[CDI:MAX_TARGET_NUMBER:A:1]
[CDI:WAIT_PERIOD:1000000000]
[SYN_CLASS:\COMMAND] syndromeTrigger command begins here
[SYN_CLASS:fantastic/demi][SYN_CLASS:\UNIT_ID][SYN_CLASS:50]

[INTERACTION:DEMI3_WIZARD_FANTASTIC_P]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_CANNOT_TARGET_IF_ALREADY_AFFECTED]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[CE_CAN_DO_INTERACTION:START:0:END:2]
[CDI:INTERACTION:DONOTHING_WIZARD_FANTASTIC_P]
[CDI:ADV_NAME:ooh you're pale]
[CDI:USAGE_HINT:ATTACK]
[CDI:TARGET_RANGE:A:20]
[CDI:MAX_TARGET_NUMBER:A:1]
[CDI:WAIT_PERIOD:1000000000]
[SYN_CLASS:\COMMAND] syndromeTrigger command begins here
[SYN_CLASS:fantastic/demi][SYN_CLASS:\UNIT_ID][SYN_CLASS:75]

[INTERACTION:HIDE_WIZARD_FANTASTIC_P]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[I_EFFECT:HIDE]
[IE_TARGET:A]
[IE_IMMEDIATE]

[INTERACTION:RAISE_DEAD_WIZARD_FANTASTIC_P]
[I_TARGET:A:CORPSE]
[IT_LOCATION:CONTEXT_ITEM]
[IT_AFFECTED_CLASS:GENERAL_POISON]
[IT_REQUIRES:FIT_FOR_ANIMATION]
[IT_FORBIDDEN:NOT_LIVING]
[IT_MANUAL_INPUT:corpses]
[I_EFFECT:ANIMATE]
[IE_TARGET:A]
[IE_IMMEDIATE]
[IE_ARENA_NAME:Animated corpse]
[SYNDROME]
[CE_FLASH_TILE:TILE:165:5:0:0:FREQUENCY:2000:1000:START:0]
[CE_PHYS_ATT_CHANGE:STRENGTH:300:1000:TOUGHNESS:300:1000:START:0]
[CE_SPEED_CHANGE:SPEED_PERC:60:START:0]
[CE_ADD_TAG:NO_AGING:NOT_LIVING:OPPOSED_TO_LIFE:EXTRAVISION:NOEXERT:NOPAIN:NOBREATHE:NOSTUN:NONAUSEA:NO_DIZZINESS:NO_FEVERS:NOEMOTION:PARALYZEIMMUNE:NOFEAR:NO_EAT:NO_DRINK:NO_SLEEP:NO_PHYS_ATT_GAIN:NO_PHYS_ATT_RUST:NOTHOUGHT:NO_THOUGHT_CENTER_FOR_MOVEMENT:NO_CONNECTIONS_FOR_MOVEMENT:START:0]
[CE_REMOVE_TAG:HAS_BLOOD:TRANCES:LIKES_FIGHTING:MISCHIEVOUS:START:0]
9 changes: 9 additions & 0 deletions hack/scripts/fantastic/demi.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
local args = {...}

local unit = df.unit.find(args[1])

local demilevel=1-(tonumber(args[2])/100)

if demilevel>1 or demilevel<0 then qerror("number can't be more than 100 or less than 0!") end

unit.body.blood_count=math.ceil(unit.body.blood_count*demilevel)

0 comments on commit 5bd847f

Please sign in to comment.