Area Special Functions

From TFCWiki - The Final Challenge MUD's Player Information Resource
Jump to: navigation, search

The following special functions are available to area writers.

All use of special functions should be approved by the Area Coordinator prior to use. If code modifications are necessary (e.g. a special function is not generic), the Area Coordinator will also discuss the use of the special function with a coder.


Mob Functions

Mob Special Functions are defined in the #SPECIALS section of an area file. A mob may technically have more than one special function, but in that case, the results are dependent upon how the given special functions are programmed, and are processed until a special function is successful.

Archmob

Function Name Generic Description
init_mage yes Create an arch-mage archmob
init_priest yes Create archmob cleric
init_shaman yes Create archmob shaman

Combat

Function Name Generic Description
spec_breath_acid yes Acid breath
spec_breath_any yes Random dragon breath
spec_breath_fire yes Fire breath
spec_breath_frost yes Frost breath
spec_breath_gas yes Gas breath
spec_cast_cleric yes Cast cleric spells
spec_cast_mage yes Cast mage spells
spec_cast_shaman yes Cast shaman spells
spec_cast_undead yes Cast spells associated with undead
spec_corrosion yes Cast acid blast and other spells
spec_demon yes Demon casting spec
spec_demon_lord yes Demon lord casting spec
spec_fight_dirty yes Dirty fighting
spec_fire_demon yes Fire demon casting spec
spec_guardian_demon yes Guardian demon casting spec
spec_mind_affects yes Cast mind affect spells
spec_no_killing yes Mob tries not to kill in combat, only incapacitate
spec_one_spell yes Cast a single spell, as set with mob 'O' flag
spec_pestilence yes Cast cause disease and other spells
spec_poison yes Poison bites
spec_poison_sting yes Poison sting
spec_shadow_demon yes Shadow demon casting spec
spec_storm_demon yes Storm demon casting spec
spec_underdog yes hit bonus for attack and evasion bonus for defense if attacker is higher level

Miscellaneous

Function Name Generic Description
spec_fido yes Eat animal corpses.
spec_grudge yes Will attack PC in room if PC previously attacked mob.
spec_guard no Racial guards (only works for hometowns).
spec_howl yes Howling mob.
spec_hunt_area_only yes Mob will only hunt PCs that are within the same area as mob
spec_immediate_relay yes Causes mob to immediately return to its start room.
spec_janitor yes Pick up trash.
spec_no_hunt yes Mob should not hunt. Now also works with arch mobs.
spec_respawn yes Will cause a new instance of a mob to be created immediately upon death of the mob.
spec_sleeping_dragon no Provides spec_breath_acid for combat. Awakens mob, that then ROARS. Puts dragon asleep again once it thinks it's alone.
spec_teleport_on_load yes Teleports mob to random location immediately upon repop.
spec_thief yes Mob steals gold.

Mob Extended Functions

Mob Extended Special Functions are defined in the #SPECIALS section of an area file.

Miscellaneous

Function Name Generic Description
spec_act_on_give yes Upon giving mob an item of a specific vnum, perform specified action, such as giving PC an item in return, or transferring PC to specified room with optional action description (must be coded if custom description needed)
spec_call_for_help no Causes mob to call for help from either Clark Kent or Superman. Function for Quests only
spec_equipped_token yes Mob action based on an object a PC has equipped
spec_mage_protector yes Will assist any spec_cast_mage flagged mob in the room.
spec_timed_teleport yes Mob periodically teleports, based on mud time

In Room

Room special functions are defined in the #RSPECS section of the area file.

Damage

Function Name Generic Description
spec_cliff_fall yes Falling down cliff face
spec_fire_bath yes Engulfing flames
spec_freefall_one yes Fall into room in down direction; spec_long_fall invoked
spec_gas_chamber yes Choke and gag within room
spec_mildgas yes Choke and gag within room (less damage than spec_gas_chamber)
spec_steam_bath yes geyser of hot water and steam

Doors

Function Name Generic Description
spec_lock_down yes Shuts and locks door down
spec_lock_east yes Shuts and locks door to east
spec_lock_north yes Shuts and locks door to north
spec_lock_south yes Shuts and locks door to south
spec_lock_up yes Shuts and locks door up
spec_lock_west yes Shuts and locks door to west
spec_seal_exits yes Closes all doors
spec_shut_down yes Shuts door down
spec_shut_east yes Shuts door to east
spec_shut_north yes Shuts door to north
spec_shut_south yes Shuts door to south
spec_shut_up yes Shuts door up
spec_shut_west yes Shuts door to west

Miscellaneous

Function Name Generic Description
spec_crumble_floor no Heavy characters fall through floor to room below
spec_wind_tunnel yes Room is windy; can blow away items

Movement

Function Name Generic Description
spec_aircurrent_down yes Wind. Assumes down exit
spec_aircurrent_east yes Wind. Assumes east exit
spec_aircurrent_north yes Wind. Assumes north exit
spec_aircurrent_south yes Wind. Assumes south exit
spec_aircurrent_up yes Wind. Assumes up exit
spec_aircurrent_west yes Wind. Assumes west exit
spec_airfork_ne yes Air current to north or east
spec_airfork_nw yes Air current to north or west
spec_airfork_se yes Air current to south or east
spec_airfork_sw yes Air current to south or west
spec_current_down yes Assumes down exit
spec_current_east yes Assumes water and east exit
spec_current_north yes Assumes water and north exit
spec_current_south yes Assumes water and south exit
spec_current_up yes Assumes up exit
spec_current_west yes Assumes water and west exit
spec_fork_ne yes Current to north or east
spec_fork_nw yes Current to north or west
spec_fork_se yes Current to south or east
spec_fork_sw yes Current to south or west
spec_oceancurrent_down yes Assumes down exit
spec_oceancurrent_east yes Assumes east exit
spec_oceancurrent_north yes Assumes north exit
spec_oceancurrent_south yes Assumes south exit
spec_oceancurrent_up yes Assumes up exit
spec_oceancurrent_west yes Assumes west exit
spec_oceanfork_ne yes
spec_oceanfork_nw yes
spec_oceanfork_se yes
spec_oceanfork_sw yes
spec_tide_ew yes
spec_tide_ns yes
spec_waterfall_east yes spec_current_east + spec_long_fall
spec_waterfall_north yes spec_current_north + spec_long_fall
spec_waterfall_south yes spec_current_south + spec_long_fall
spec_waterfall_west yes spec_current_west + spec_long_fall

Room Extended Functions

Door

Function Name Generic Description
spec_check_door_open yes Checks a stat attribute prior to opening door

Trigger After Move

(Exit) triggers are defined in the #TRIGGERS section of the area file.

Damage

Function Name Generic Description
spec_cavein no Text assumes PC in a tunnel
spec_crack_head yes Head damage
spec_long_fall yes Damage character (can be any direction)
spec_medium_fall yes Damage character (can be any direction)
spec_short_fall no Minor damage -- text assumes a fall

Door

Function Name Generic Description
spec_shut_door yes Closes all doors. Requires a door of name "door" in the room.

Miscellaneous

Function Name Generic Description
spec_splash yes Assumes water. Splash size based on weight of ch
spec_teleporter no Teleport if holding the correct key (Landru). Requires code changes.

Trigger Before Move

(Exit) triggers are defined in the #TRIGGERS section of the area file.

Alignment

Function Name Generic Description
spec_evil_only yes Blocks non-evil-aligned PCs from going specific direction
spec_good_only yes Blocks non-good-aligned PCs from going specific direction
spec_neutral_only yes Blocks aligned PCs from going specific direction

Class

Function Name Generic Description
spec_bard_only yes Allow only bard to pass
spec_cleric_only yes Allow only clerics and OMs to pass
spec_mage_only yes Allow only mages and bards to pass
spec_ranger_only yes Allow only ranger to pass
spec_shaman_only yes Allow only shaman to pass
spec_thief_only yes Allow only thief, thug and bard to pass
spec_thug_only yes Allow only thug to pass
spec_warrior_only yes Allow only warrior, ranger, and bard to pass
spec_warrior_only2 yes Allow only warrior and bard to pass

Level

Function Name Generic Description
spec_mudschool_newbies yes Allow only those less than 5th level to pass

Miscellaneous

Function Name Generic Description
spec_guild_entrance yes Transports character to guild
spec_vortex_entry yes Creates vortex portal in specified direction
spec_vortex_exit no Creates vortex exit in specified direction


Movement

Function Name Generic Description
spec_fallin yes Fall into room in 'down' direction (no damage)

Extended Trigger Before Move

(Exit) triggers are defined in the #TRIGGERS section of the area file.

Exit Blocks

Function Name Generic Description
trig_block_heathen yes Allow only followers (and optionally UA and/or mobs) through exit
trig_sentinel_mob yes Allow only characters holding an item of specific vnum through exit
trig_time_block yes Prevents characters from using specified exit during specified (mud) hours