/*- * Copyright (c) 1998 fjoe <fjoe@iclub.nsu.ru> * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $Id: gsn.c,v 1.18 1999/04/16 15:52:23 fjoe Exp $ */ #include <stdio.h> #include "typedef.h" #include "gsn.h" #include "namedp.h" /* gsns */ int gsn_backstab; int gsn_dodge; int gsn_envenom; int gsn_hide; int gsn_peek; int gsn_sneak; int gsn_disarm; int gsn_enhanced_damage; int gsn_kick; int gsn_parry; int gsn_rescue; int gsn_second_attack; int gsn_third_attack; int gsn_blindness; int gsn_charm_person; int gsn_curse; int gsn_anathema; int gsn_remove_curse; int gsn_invisibility; int gsn_mass_invis; int gsn_poison; int gsn_plague; int gsn_sleep; int gsn_sanctuary; int gsn_black_shroud; int gsn_demand; int gsn_fly; int gsn_fourth_attack; int gsn_dual_backstab; int gsn_cleave; int gsn_counter; int gsn_ambush; int gsn_circle; int gsn_nerve; int gsn_endure; int gsn_quiet_movement; int gsn_tame; int gsn_assassinate; int gsn_caltrops; int gsn_throw; int gsn_strangle; int gsn_blackjack; int gsn_bloodthirst; int gsn_spellbane; int gsn_resistance; int gsn_deathblow; int gsn_fade; int gsn_garble; int gsn_confuse; int gsn_track; int gsn_chaos_blade; int gsn_wrath; int gsn_stalker; int gsn_tesseract; int gsn_randomizer; int gsn_trophy; int gsn_truesight; int gsn_brew; int gsn_shadowlife; int gsn_ruler_badge; int gsn_remove_badge; int gsn_dragon_strength; int gsn_dragon_breath; int gsn_warcry; int gsn_dragonsword; int gsn_guard; int gsn_guard_call; int gsn_love_potion; int gsn_deafen; int gsn_protective_shield; int gsn_trance; int gsn_demon_summon; int gsn_nightwalker; int gsn_squire; int gsn_lightning_bolt; int gsn_disperse; int gsn_bless; int gsn_weaken; int gsn_haste; int gsn_cure_critical; int gsn_cure_serious; int gsn_burning_hands; int gsn_acid_blast; int gsn_ray_of_truth; int gsn_spell_craft; int gsn_improved_maladiction; int gsn_improved_benediction; int gsn_improved_attack; int gsn_improved_combat; int gsn_improved_curative; int gsn_improved_beguiling; int gsn_improved_protective; int gsn_giant_strength; int gsn_explode; int gsn_acid_breath; int gsn_fire_breath; int gsn_frost_breath; int gsn_gas_breath; int gsn_lightning_breath; int gsn_cure_light; int gsn_magic_missile; int gsn_demonfire; int gsn_faerie_fire; int gsn_shield; int gsn_chill_touch; int gsn_second_weapon; int gsn_target; int gsn_sand_storm; int gsn_scream; int gsn_tiger_power; int gsn_hara_kiri; int gsn_enhanced_armor; int gsn_vampire; int gsn_vampiric_bite; int gsn_light_resistance; int gsn_blink; int gsn_path_find; int gsn_critical; int gsn_detect_sneak; int gsn_mend; int gsn_shielding; int gsn_blind_fighting; int gsn_swimming; int gsn_camouflage_move; int gsn_protection_heat; int gsn_protection_cold; int gsn_teleport; int gsn_witch_curse; int gsn_kassandra; int gsn_sebat; int gsn_matandra; int gsn_armor_use; int gsn_cure_poison; int gsn_fire_shield; int gsn_fear; int gsn_settraps; int gsn_mental_attack; int gsn_secondary_attack; int gsn_mortal_strike; int gsn_shield_cleave; int gsn_weapon_cleave; int gsn_slow; int gsn_improved_invis; int gsn_tail; int gsn_power_word_stun; int gsn_grip; int gsn_concentrate; int gsn_mastering_sword; int gsn_master_hand; int gsn_fifth_attack; int gsn_area_attack; int gsn_reserved; int gsn_bandage; int gsn_web; int gsn_bow; int gsn_bash_door; int gsn_katana; int gsn_bluefire; int gsn_crush; int gsn_charge; int gsn_perception; int gsn_deadly_venom; int gsn_cursed_lands; int gsn_lethargic_mist; int gsn_black_death; int gsn_mysterious_dream; int gsn_sense_life; int gsn_arrow; int gsn_lance; int gsn_evil_spirit; int gsn_blindness_dust; int gsn_poison_smoke; int gsn_mastering_spell; /* new_gsns */ int gsn_axe; int gsn_dagger; int gsn_flail; int gsn_mace; int gsn_polearm; int gsn_shield_block; int gsn_spear; int gsn_sword; int gsn_whip; int gsn_bash; int gsn_berserk; int gsn_dirt; int gsn_hand_to_hand; int gsn_trip; int gsn_fast_healing; int gsn_haggle; int gsn_meditation; int gsn_frenzy; int gsn_riding; int gsn_thumbling; int gsn_pick; int gsn_hand_block; int gsn_forest_fighting; int gsn_doppelganger; int gsn_mirror; int gsn_knife; namedp_t gsn_table[] = { { "gsn_backstab", &gsn_backstab }, { "gsn_dodge", &gsn_dodge }, { "gsn_envenom", &gsn_envenom }, { "gsn_hide", &gsn_hide }, { "gsn_peek", &gsn_peek }, { "gsn_sneak", &gsn_sneak }, { "gsn_disarm", &gsn_disarm }, { "gsn_enhanced_damage", &gsn_enhanced_damage }, { "gsn_kick", &gsn_kick }, { "gsn_parry", &gsn_parry }, { "gsn_rescue", &gsn_rescue }, { "gsn_second_attack", &gsn_second_attack }, { "gsn_third_attack", &gsn_third_attack }, { "gsn_blindness", &gsn_blindness }, { "gsn_charm_person", &gsn_charm_person }, { "gsn_curse", &gsn_curse }, { "gsn_anathema", &gsn_anathema }, { "gsn_remove_curse", &gsn_remove_curse }, { "gsn_invisibility", &gsn_invisibility }, { "gsn_mass_invis", &gsn_mass_invis }, { "gsn_poison", &gsn_poison }, { "gsn_plague", &gsn_plague }, { "gsn_sleep", &gsn_sleep }, { "gsn_sanctuary", &gsn_sanctuary }, { "gsn_black_shroud", &gsn_black_shroud }, { "gsn_demand", &gsn_demand }, { "gsn_fly", &gsn_fly }, { "gsn_fourth_attack", &gsn_fourth_attack }, { "gsn_dual_backstab", &gsn_dual_backstab }, { "gsn_cleave", &gsn_cleave }, { "gsn_counter", &gsn_counter }, { "gsn_ambush", &gsn_ambush }, { "gsn_circle", &gsn_circle }, { "gsn_nerve", &gsn_nerve }, { "gsn_endure", &gsn_endure }, { "gsn_quiet_movement", &gsn_quiet_movement }, { "gsn_tame", &gsn_tame }, { "gsn_assassinate", &gsn_assassinate }, { "gsn_caltrops", &gsn_caltrops }, { "gsn_throw", &gsn_throw }, { "gsn_strangle", &gsn_strangle }, { "gsn_blackjack", &gsn_blackjack }, { "gsn_bloodthirst", &gsn_bloodthirst }, { "gsn_spellbane", &gsn_spellbane }, { "gsn_resistance", &gsn_resistance }, { "gsn_deathblow", &gsn_deathblow }, { "gsn_fade", &gsn_fade }, { "gsn_garble", &gsn_garble }, { "gsn_confuse", &gsn_confuse }, { "gsn_track", &gsn_track }, { "gsn_chaos_blade", &gsn_chaos_blade }, { "gsn_wrath", &gsn_wrath }, { "gsn_stalker", &gsn_stalker }, { "gsn_tesseract", &gsn_tesseract }, { "gsn_randomizer", &gsn_randomizer }, { "gsn_trophy", &gsn_trophy }, { "gsn_truesight", &gsn_truesight }, { "gsn_brew", &gsn_brew }, { "gsn_shadowlife", &gsn_shadowlife }, { "gsn_ruler_badge", &gsn_ruler_badge }, { "gsn_remove_badge", &gsn_remove_badge }, { "gsn_dragon_strength", &gsn_dragon_strength }, { "gsn_dragon_breath", &gsn_dragon_breath }, { "gsn_warcry", &gsn_warcry }, { "gsn_dragonsword", &gsn_dragonsword }, { "gsn_guard", &gsn_guard }, { "gsn_guard_call", &gsn_guard_call }, { "gsn_love_potion", &gsn_love_potion }, { "gsn_deafen", &gsn_deafen }, { "gsn_protective_shield", &gsn_protective_shield }, { "gsn_trance", &gsn_trance }, { "gsn_demon_summon", &gsn_demon_summon }, { "gsn_nightwalker", &gsn_nightwalker }, { "gsn_squire", &gsn_squire }, { "gsn_lightning_bolt", &gsn_lightning_bolt }, { "gsn_disperse", &gsn_disperse }, { "gsn_bless", &gsn_bless }, { "gsn_weaken", &gsn_weaken }, { "gsn_haste", &gsn_haste }, { "gsn_cure_critical", &gsn_cure_critical }, { "gsn_cure_serious", &gsn_cure_serious }, { "gsn_burning_hands", &gsn_burning_hands }, { "gsn_acid_blast", &gsn_acid_blast }, { "gsn_ray_of_truth", &gsn_ray_of_truth }, { "gsn_spell_craft", &gsn_spell_craft }, { "gsn_improved_maladiction", &gsn_improved_maladiction }, { "gsn_improved_benediction", &gsn_improved_benediction }, { "gsn_improved_attack", &gsn_improved_attack }, { "gsn_improved_combat", &gsn_improved_combat }, { "gsn_improved_curative", &gsn_improved_curative }, { "gsn_improved_beguiling", &gsn_improved_beguiling }, { "gsn_improved_protective", &gsn_improved_protective }, { "gsn_giant_strength", &gsn_giant_strength }, { "gsn_explode", &gsn_explode }, { "gsn_acid_breath", &gsn_acid_breath }, { "gsn_fire_breath", &gsn_fire_breath }, { "gsn_frost_breath", &gsn_frost_breath }, { "gsn_gas_breath", &gsn_gas_breath }, { "gsn_lightning_breath", &gsn_lightning_breath }, { "gsn_cure_light", &gsn_cure_light }, { "gsn_magic_missile", &gsn_magic_missile }, { "gsn_demonfire", &gsn_demonfire }, { "gsn_faerie_fire", &gsn_faerie_fire }, { "gsn_shield", &gsn_shield }, { "gsn_chill_touch", &gsn_chill_touch }, { "gsn_second_weapon", &gsn_second_weapon }, { "gsn_target", &gsn_target }, { "gsn_sand_storm", &gsn_sand_storm }, { "gsn_scream", &gsn_scream }, { "gsn_tiger_power", &gsn_tiger_power }, { "gsn_hara_kiri", &gsn_hara_kiri }, { "gsn_enhanced_armor", &gsn_enhanced_armor }, { "gsn_vampire", &gsn_vampire }, { "gsn_vampiric_bite", &gsn_vampiric_bite }, { "gsn_light_resistance", &gsn_light_resistance }, { "gsn_blink", &gsn_blink }, { "gsn_path_find", &gsn_path_find }, { "gsn_critical", &gsn_critical }, { "gsn_detect_sneak", &gsn_detect_sneak }, { "gsn_mend", &gsn_mend }, { "gsn_shielding", &gsn_shielding }, { "gsn_blind_fighting", &gsn_blind_fighting }, { "gsn_swimming", &gsn_swimming }, { "gsn_camouflage_move", &gsn_camouflage_move }, { "gsn_protection_heat", &gsn_protection_heat }, { "gsn_protection_cold", &gsn_protection_cold }, { "gsn_teleport", &gsn_teleport }, { "gsn_witch_curse", &gsn_witch_curse }, { "gsn_kassandra", &gsn_kassandra }, { "gsn_sebat", &gsn_sebat }, { "gsn_matandra", &gsn_matandra }, { "gsn_armor_use", &gsn_armor_use }, { "gsn_cure_poison", &gsn_cure_poison }, { "gsn_fire_shield", &gsn_fire_shield }, { "gsn_fear", &gsn_fear }, { "gsn_settraps", &gsn_settraps }, { "gsn_mental_attack", &gsn_mental_attack }, { "gsn_secondary_attack", &gsn_secondary_attack }, { "gsn_mortal_strike", &gsn_mortal_strike }, { "gsn_shield_cleave", &gsn_shield_cleave }, { "gsn_weapon_cleave", &gsn_weapon_cleave }, { "gsn_slow", &gsn_slow }, { "gsn_improved_invis", &gsn_improved_invis }, { "gsn_tail", &gsn_tail }, { "gsn_power_word_stun", &gsn_power_word_stun }, { "gsn_grip", &gsn_grip }, { "gsn_concentrate", &gsn_concentrate }, { "gsn_mastering_sword", &gsn_mastering_sword }, { "gsn_master_hand", &gsn_master_hand }, { "gsn_fifth_attack", &gsn_fifth_attack }, { "gsn_area_attack", &gsn_area_attack }, { "gsn_reserved", &gsn_reserved }, { "gsn_bandage", &gsn_bandage }, { "gsn_web", &gsn_web }, { "gsn_bow", &gsn_bow }, { "gsn_bash_door", &gsn_bash_door }, { "gsn_katana", &gsn_katana }, { "gsn_bluefire", &gsn_bluefire }, { "gsn_crush", &gsn_crush }, { "gsn_charge", &gsn_charge }, { "gsn_perception", &gsn_perception }, { "gsn_deadly_venom", &gsn_deadly_venom }, { "gsn_cursed_lands", &gsn_cursed_lands }, { "gsn_lethargic_mist", &gsn_lethargic_mist }, { "gsn_black_death", &gsn_black_death }, { "gsn_mysterious_dream", &gsn_mysterious_dream }, { "gsn_sense_life", &gsn_sense_life }, { "gsn_arrow", &gsn_arrow }, { "gsn_lance", &gsn_lance }, { "gsn_evil_spirit", &gsn_evil_spirit }, { "gsn_blindness_dust", &gsn_blindness_dust }, { "gsn_poison_smoke", &gsn_poison_smoke }, { "gsn_mastering_spell", &gsn_mastering_spell }, { "gsn_axe", &gsn_axe }, { "gsn_dagger", &gsn_dagger }, { "gsn_flail", &gsn_flail }, { "gsn_mace", &gsn_mace }, { "gsn_polearm", &gsn_polearm }, { "gsn_shield_block", &gsn_shield_block }, { "gsn_spear", &gsn_spear }, { "gsn_sword", &gsn_sword }, { "gsn_whip", &gsn_whip }, { "gsn_bash", &gsn_bash }, { "gsn_berserk", &gsn_berserk }, { "gsn_dirt", &gsn_dirt }, { "gsn_hand_to_hand", &gsn_hand_to_hand }, { "gsn_trip", &gsn_trip }, { "gsn_fast_healing", &gsn_fast_healing }, { "gsn_haggle", &gsn_haggle }, { "gsn_meditation", &gsn_meditation }, { "gsn_frenzy", &gsn_frenzy }, { "gsn_riding", &gsn_riding }, { "gsn_thumbling", &gsn_thumbling }, { "gsn_forest_fighting", &gsn_forest_fighting }, { "gsn_pick", &gsn_pick }, { "gsn_doppelganger", &gsn_doppelganger }, { "gsn_mirror", &gsn_mirror }, { "gsn_hand_block", &gsn_hand_block }, { "gsn_knife", &gsn_knife }, { NULL } };