diff options
author | Bardur Arantsson <bardur@scientician.net> | 2012-05-29 06:25:07 +0200 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2012-05-29 18:18:10 +0200 |
commit | d98a999477698bb0a304c4995df44f2b7ef5389d (patch) | |
tree | e0d30c7a705368f7991371a143a9c4c7b06faf60 /src/spells.pkg | |
parent | 127f4d6985d998c65d958907758e474edb29ceec (diff) |
Lua: Convert all the spell metadata to C code
(Yay automated translation!)
Diffstat (limited to 'src/spells.pkg')
-rw-r--r-- | src/spells.pkg | 583 |
1 files changed, 11 insertions, 572 deletions
diff --git a/src/spells.pkg b/src/spells.pkg index 0ea452bf..6360e7d3 100644 --- a/src/spells.pkg +++ b/src/spells.pkg @@ -2147,6 +2147,8 @@ extern magic_power *grab_magic_power @ get_magic_power(magic_power *m_ptr, int n */ extern bool lua_spell_success @ magic_power_sucess(magic_power *spell, int stat, char *oups_fct=NULL); +extern s16b can_spell_random(s16b spell_idx); + /* Schools */ /** @struct school_spell_type @@ -2166,24 +2168,6 @@ struct spell_type@school_spell_type */ byte skill_level; - /** @structvar mana - * @brief Number - * @note Required mana at lvl 1 - */ - byte mana; - - /** @structvar mana_max - * @brief Number - * @note Required mana at max lvl - */ - byte mana_max; - - /** @structvar fail - * @brief Number - * @note Minimum chance of failure - */ - s16b fail; - /** @structvar level * @brief Number * @note Spell level(0 = not learnt) @@ -2227,37 +2211,6 @@ struct school_type */ extern s16b new_school(int i, cptr name, s16b skill); -/** @fn new_spell(int i, cptr name) - * @dgonly - * @brief Add spell to array of spells for a school.\n - * @param i Number \n i is index of school spell array where spell is added. - * There is no range checking. - * @brief Index - * @param name String \n name is the name of the spell. - * @brief Name - * @return Number \ The index parameter. - * @note - * Spell level is set to zero.\n\n - * Note: do not call this function directly.\n - * By order of DG. - * @note (see file lua_bind.c) - */ -extern s16b new_spell(int i, cptr name); - -/** @fn spell(s16b num); - * @dgonly - * @brief Get spell "num" from array of spells for a school.\n - * @param num Number \n num is the index of the spell. - * There is no range checking. - * @brief Index - * @return spell_type \n The spell. - * @note - * Note: do not call this function directly.\n - * By order of DG. - * @note (see file lua_bind.c) - */ -extern spell_type *grab_spell_type @ spell(s16b num); - /** @fn school(s16b num); * @dgonly * @brief Get school "num" from array of schools.\n @@ -2338,7 +2291,7 @@ extern s32b lua_spell_device_chance(s32b chance, int level, int base_level); * If no spell is chosen, -1 is returned. * @note (see file cmd5.c) */ -extern s32b get_school_spell(cptr do_what, cptr check_fct, s16b force_book); +extern s32b get_school_spell(cptr do_what, s16b force_book); /** @fn get_pos_player(int dis, int *ny=0, int *nx=0) * @brief Get a grid near the player.\n @@ -2358,528 +2311,6 @@ extern s32b get_school_spell(cptr do_what, cptr check_fct, s16b force_book); extern void get_pos_player(int dis, int *ny=0, int *nx=0); /** - * Geomancy - */ -extern void geomancy_random_floor(int y, int x, bool kill_wall); -extern void geomancy_dig(int y, int x, int dir, int length); -extern void channel_the_elements(int y, int x, int level); - -/* - * Air - */ -extern s32b NOXIOUSCLOUD; -extern s32b AIRWINGS; -extern s32b INVISIBILITY; -extern s32b POISONBLOOD; -extern s32b THUNDERSTORM; -extern s32b STERILIZE; - -bool_ *air_noxious_cloud(); -char *air_noxious_cloud_info(); -bool_ *air_wings_of_winds(); -char *air_wings_of_winds_info(); -bool_ *air_invisibility(); -char *air_invisibility_info(); -bool_ *air_poison_blood(); -char *air_poison_blood_info(); -bool_ *air_thunderstorm(); -char *air_thunderstorm_info(); -bool_ *air_sterilize(); -char *air_sterilize_info(); - -/* - * Conveyance - */ -extern s32b BLINK; -extern s32b DISARM; -extern s32b TELEPORT; -extern s32b TELEAWAY; -extern s32b RECALL; -extern s32b PROBABILITY_TRAVEL; - -bool_ *convey_blink(); -char *convey_blink_info(); -bool_ *convey_disarm(); -char *convey_disarm_info(); -bool_ *convey_teleport(); -char *convey_teleport_info(); -bool_ *convey_teleport_away(); -char *convey_teleport_away_info(); -bool_ *convey_recall(); -char *convey_recall_info(); -bool_ *convey_probability_travel(); -char *convey_probability_travel_info(); - -/* - * Demonology - */ -extern s32b DEMON_BLADE; -extern s32b DEMON_MADNESS; -extern s32b DEMON_FIELD; -extern s32b DOOM_SHIELD; -extern s32b UNHOLY_WORD; -extern s32b DEMON_CLOAK; -extern s32b DEMON_SUMMON; -extern s32b DISCHARGE_MINION; -extern s32b CONTROL_DEMON; - -bool_ *demonology_demon_blade(); -char *demonology_demon_blade_info(); -bool_ *demonology_demon_madness(); -char *demonology_demon_madness_info(); -bool_ *demonology_demon_field(); -char *demonology_demon_field_info(); -bool_ *demonology_doom_shield(); -char *demonology_doom_shield_info(); -bool_ *demonology_unholy_word(); -char *demonology_unholy_word_info(); -bool_ *demonology_demon_cloak(); -char *demonology_demon_cloak_info(); -bool_ *demonology_summon_demon(); -char *demonology_summon_demon_info(); -bool_ *demonology_discharge_minion(); -char *demonology_discharge_minion_info(); -bool_ *demonology_control_demon(); -char *demonology_control_demon_info(); - -/* - * Divination - */ -extern s32b STARIDENTIFY; -extern s32b IDENTIFY; -extern s32b VISION; -extern s32b SENSEHIDDEN; -extern s32b REVEALWAYS; -extern s32b SENSEMONSTERS; - -bool_ *divination_greater_identify(); -char *divination_greater_identify_info(); -bool_ *divination_identify(); -char *divination_identify_info(); -bool_ *divination_vision(); -char *divination_vision_info(); -bool_ *divination_sense_hidden(); -char *divination_sense_hidden_info(); -bool_ *divination_reveal_ways(); -char *divination_reveal_ways_info(); -bool_ *divination_sense_monsters(); -char *divination_sense_monsters_info(); - -/* - * Earth - */ -extern s32b STONESKIN; -extern s32b DIG; -extern s32b STONEPRISON; -extern s32b STRIKE; -extern s32b SHAKE; - -bool_ *earth_stone_skin(); -char *earth_stone_skin_info(); -bool_ *earth_dig(); -char *earth_dig_info(); -bool_ *earth_stone_prison(); -char *earth_stone_prison_info(); -bool_ *earth_strike(); -char *earth_strike_info(); -bool_ *earth_shake(); -char *earth_shake_info(); - -/* - * Eru - */ -extern s32b ERU_SEE; -extern s32b ERU_LISTEN; -extern s32b ERU_UNDERSTAND; -extern s32b ERU_PROT; - -bool_ *eru_see_the_music(); -char *eru_see_the_music_info(); -bool_ *eru_listen_to_the_music(); -char *eru_listen_to_the_music_info(); -bool_ *eru_know_the_music(); -char *eru_know_the_music_info(); -bool_ *eru_lay_of_protection(); -char *eru_lay_of_protection_info(); - -/* - * Fire - */ -extern s32b GLOBELIGHT; -extern s32b FIREFLASH; -extern s32b FIERYAURA; -extern s32b FIREWALL; -extern s32b FIREGOLEM; - -bool_ *fire_globe_of_light(); -char *fire_globe_of_light_info(); -bool_ *fire_fireflash(); -char *fire_fireflash_info(); -bool_ *fire_fiery_shield(); -char *fire_fiery_shield_info(); -bool_ *fire_firewall(); -char *fire_firewall_info(); -bool_ *fire_golem(); -char *fire_golem_info(); - -/* - * Geomancy - */ -extern s32b CALL_THE_ELEMENTS; -extern s32b CHANNEL_ELEMENTS; -extern s32b ELEMENTAL_WAVE; -extern s32b VAPORIZE; -extern s32b GEOLYSIS; -extern s32b DRIPPING_TREAD; -extern s32b GROW_BARRIER; -extern s32b ELEMENTAL_MINION; - -bool_ *geomancy_call_the_elements(); -char *geomancy_call_the_elements_info(); -bool_ *geomancy_channel_elements(); -char *geomancy_channel_elements_info(); -bool_ *geomancy_elemental_wave(); -char *geomancy_elemental_wave_info(); -bool_ *geomancy_vaporize(); -char *geomancy_vaporize_info(); -bool_ geomancy_vaporize_depends(); -bool_ *geomancy_geolysis(); -char *geomancy_geolysis_info(); -bool_ geomancy_geolysis_depends(); -bool_ *geomancy_dripping_tread(); -char *geomancy_dripping_tread_info(); -bool_ geomancy_dripping_tread_depends(); -bool_ *geomancy_grow_barrier(); -char *geomancy_grow_barrier_info(); -bool_ geomancy_grow_barrier_depends(); -bool_ *geomancy_elemental_minion(); -char *geomancy_elemental_minion_info(); - -extern s32b MANATHRUST; -extern s32b DELCURSES; -extern s32b RESISTS; -extern s32b MANASHIELD; - -bool_ *mana_manathrust(); -char *mana_manathrust_info(); -bool_ *mana_remove_curses(); -char *mana_remove_curses_info(); -bool_ *mana_elemental_shield(); -char *mana_elemental_shield_info(); -bool_ *mana_disruption_shield(); -char *mana_disruption_shield_info(); - -extern s32b MANWE_SHIELD; -extern s32b MANWE_AVATAR; -extern s32b MANWE_BLESS; -extern s32b MANWE_CALL; - -bool_ *manwe_wind_shield(); -char *manwe_wind_shield_info(); -bool_ *manwe_avatar(); -char *manwe_avatar_info(); -bool_ *manwe_blessing(); -char *manwe_blessing_info(); -bool_ *manwe_call(); -char *manwe_call_info(); - -extern s32b MELKOR_CURSE; -extern s32b MELKOR_CORPSE_EXPLOSION; -extern s32b MELKOR_MIND_STEAL; - -bool_ *melkor_curse(); -char *melkor_curse_info(); -bool_ *melkor_corpse_explosion(); -char *melkor_corpse_explosion_info(); -bool_ *melkor_mind_steal(); -char *melkor_mind_steal_info(); - -extern s32b RECHARGE; -extern s32b SPELLBINDER; -extern s32b DISPERSEMAGIC; -extern s32b TRACKER; -extern s32b INERTIA_CONTROL; - -bool_ *meta_recharge(); -char *meta_recharge_info(); -bool_ *meta_spellbinder(); -char *meta_spellbinder_info(); -bool_ *meta_disperse_magic(); -char *meta_disperse_magic_info(); -bool_ *meta_tracker(); -char *meta_tracker_info(); -bool_ *meta_inertia_control(); -char *meta_inertia_control_info(); - -extern s32b CHARM; -extern s32b CONFUSE; -extern s32b ARMOROFFEAR; -extern s32b STUN; - -bool_ *mind_charm(); -char *mind_charm_info(); -bool_ *mind_confuse(); -char *mind_confuse_info(); -bool_ *mind_armor_of_fear(); -char *mind_armor_of_fear_info(); -bool_ *mind_stun(); -char *mind_stun_info(); - -extern s32b MAGELOCK; -extern s32b SLOWMONSTER; -extern s32b ESSENCESPEED; -extern s32b BANISHMENT; - -bool_ *tempo_magelock(); -char *tempo_magelock_info(); -bool_ *tempo_slow_monster(); -char *tempo_slow_monster_info(); -bool_ *tempo_essence_of_speed(); -char *tempo_essence_of_speed_info(); -bool_ *tempo_banishment(); -char *tempo_banishment_info(); - -extern s32b TULKAS_AIM; -extern s32b TULKAS_WAVE; -extern s32b TULKAS_SPIN; - -bool_ *tulkas_divine_aim(); -char *tulkas_divine_aim_info(); -bool_ *tulkas_wave_of_power(); -char *tulkas_wave_of_power_info(); -bool_ *tulkas_whirlwind(); -char *tulkas_whirlwind_info(); - -extern s32b DRAIN; -extern s32b GENOCIDE; -extern s32b WRAITHFORM; -extern s32b FLAMEOFUDUN; - -bool_ *udun_drain(); -char *udun_drain_info(); -bool_ *udun_genocide(); -char *udun_genocide_info(); -bool_ *udun_wraithform(); -char *udun_wraithform_info(); -bool_ *udun_flame_of_udun(); -char *udun_flame_of_udun_info(); - -extern s32b TIDALWAVE; -extern s32b ICESTORM; -extern s32b ENTPOTION; -extern s32b VAPOR; -extern s32b GEYSER; - -bool_ *water_tidal_wave(); -char *water_tidal_wave_info(); -bool_ *water_ice_storm(); -char *water_ice_storm_info(); -bool_ *water_ent_potion(); -char *water_ent_potion_info(); -bool_ *water_vapor(); -char *water_vapor_info(); -bool_ *water_geyser(); -char *water_geyser_info(); - -extern s32b YAVANNA_CHARM_ANIMAL; -extern s32b YAVANNA_GROW_GRASS; -extern s32b YAVANNA_TREE_ROOTS; -extern s32b YAVANNA_WATER_BITE; -extern s32b YAVANNA_UPROOT; - -bool_ *yavanna_charm_animal(); -char *yavanna_charm_animal_info(); -bool_ *yavanna_grow_grass(); -char *yavanna_grow_grass_info(); -bool_ *yavanna_tree_roots(); -char *yavanna_tree_roots_info(); -bool_ *yavanna_water_bite(); -char *yavanna_water_bite_info(); -bool_ *yavanna_uproot(); -char *yavanna_uproot_info(); - -extern s32b GROWTREE; -extern s32b HEALING; -extern s32b RECOVERY; -extern s32b REGENERATION; -extern s32b SUMMONANNIMAL; -extern s32b GROW_ATHELAS; - -bool_ *nature_grow_trees(); -char *nature_grow_trees_info(); -bool_ *nature_healing(); -char *nature_healing_info(); -bool_ *nature_recovery(); -char *nature_recovery_info(); -bool_ *nature_regeneration(); -char *nature_regeneration_info(); -bool_ *nature_summon_animal(); -char *nature_summon_animal_info(); -bool_ *nature_grow_athelas(); -char *nature_grow_athelas_info(); - -extern s32b DEVICE_HEAL_MONSTER; -extern s32b DEVICE_SPEED_MONSTER; -extern s32b DEVICE_WISH; -extern s32b DEVICE_SUMMON; -extern s32b DEVICE_MANA; -extern s32b DEVICE_NOTHING; -extern s32b DEVICE_LEBOHAUM; -extern s32b DEVICE_MAGGOT; -extern s32b DEVICE_HOLY_FIRE; -extern s32b DEVICE_ETERNAL_FLAME; -extern s32b DEVICE_DURANDIL; -extern s32b DEVICE_THUNDERLORDS; -extern s32b DEVICE_RADAGAST; -extern s32b DEVICE_VALAROMA; - -bool_ *device_heal_monster(); -char *device_heal_monster_info(); -bool_ *device_haste_monster(); -char *device_haste_monster_info(); -bool_ *device_wish(); -char *device_wish_info(); -bool_ *device_summon_monster(); -char *device_summon_monster_info(); -bool_ *device_mana(); -char *device_mana_info(); -bool_ *device_nothing(); -char *device_nothing_info(); -bool_ *device_lebohaum(); -char *device_lebohaum_info(); -bool_ *device_maggot(); -char *device_maggot_info(); -bool_ *device_holy_fire(); -char *device_holy_fire_info(); -bool_ *device_eternal_flame(); -char *device_eternal_flame_info(); -bool_ *device_durandil(); -char *device_durandil_info(); -bool_ *device_thunderlords(); -char *device_thunderlords_info(); -bool_ *device_radagast(); -char *device_radagast_info(); -bool_ *device_valaroma(); -char *device_valaroma_info(); - -extern s32b MUSIC_STOP; -extern s32b MUSIC_HOLD; -extern s32b MUSIC_CONF; -extern s32b MUSIC_STUN; -extern s32b MUSIC_LITE; -extern s32b MUSIC_HEAL; -extern s32b MUSIC_HERO; -extern s32b MUSIC_TIME; -extern s32b MUSIC_MIND; -extern s32b MUSIC_BLOW; -extern s32b MUSIC_WIND; -extern s32b MUSIC_YLMIR; -extern s32b MUSIC_AMBARKANTA; - -bool_ *music_stop_singing_spell(); -char *music_stop_singing_info(); - -int music_holding_pattern_lasting(); -bool_ *music_holding_pattern_spell(); -char *music_holding_pattern_info(); - -int music_illusion_pattern_lasting(); -bool_ *music_illusion_pattern_spell(); -char *music_illusion_pattern_info(); - -int music_stun_pattern_lasting(); -bool_ *music_stun_pattern_spell(); -char *music_stun_pattern_info(); - -int music_song_of_the_sun_lasting(); -bool_ *music_song_of_the_sun_spell(); -char *music_song_of_the_sun_info(); - -int music_flow_of_life_lasting(); -bool_ *music_flow_of_life_spell(); -char *music_flow_of_life_info(); - -int music_heroic_ballad_lasting(); -bool_ *music_heroic_ballad_spell(); -char *music_heroic_ballad_info(); - -int music_hobbit_melodies_lasting(); -bool_ *music_hobbit_melodies_spell(); -char *music_hobbit_melodies_info(); - -int music_clairaudience_lasting(); -bool_ *music_clairaudience_spell(); -char *music_clairaudience_info(); - -bool_ *music_blow_spell(); -char *music_blow_info(); - -bool_ *music_gush_of_wind_spell(); -char *music_gush_of_wind_info(); - -bool_ *music_horns_of_ylmir_spell(); -char *music_horns_of_ylmir_info(); - -bool_ *music_ambarkanta_spell(); -char *music_ambarkanta_info(); - -extern s32b AULE_FIREBRAND; -extern s32b AULE_ENCHANT_WEAPON; -extern s32b AULE_ENCHANT_ARMOUR; -extern s32b AULE_CHILD; - -bool_ *aule_firebrand_spell(); -char *aule_firebrand_info(); -bool_ *aule_enchant_weapon_spell(); -char *aule_enchant_weapon_info(); -bool_ *aule_enchant_armour_spell(); -char *aule_enchant_armour_info(); -bool_ *aule_child_spell(); -char *aule_child_info(); - -extern s32b MANDOS_TEARS_LUTHIEN; -extern s32b MANDOS_SPIRIT_FEANTURI; -extern s32b MANDOS_TALE_DOOM; -extern s32b MANDOS_CALL_HALLS; - -bool_ *mandos_tears_of_luthien_spell(); -char *mandos_tears_of_luthien_info(); -bool_ *mandos_spirit_of_the_feanturi_spell(); -char *mandos_spirit_of_the_feanturi_info(); -bool_ *mandos_tale_of_doom_spell(); -char *mandos_tale_of_doom_info(); -bool_ *mandos_call_to_the_halls_spell(); -char *mandos_call_to_the_halls_info(); - -extern s32b ULMO_BELEGAER; -extern s32b ULMO_DRAUGHT_ULMONAN; -extern s32b ULMO_CALL_ULUMURI; -extern s32b ULMO_WRATH; - -bool_ *ulmo_song_of_belegaer_spell(); -char *ulmo_song_of_belegaer_info(); -bool_ *ulmo_draught_of_ulmonan_spell(); -char *ulmo_draught_of_ulmonan_info(); -bool_ *ulmo_call_of_the_ulumuri_spell(); -char *ulmo_call_of_the_ulumuri_info(); -bool_ *ulmo_wrath_of_ulmo_spell(); -char *ulmo_wrath_of_ulmo_info(); - -extern s32b VARDA_LIGHT_VALINOR; -extern s32b VARDA_CALL_ALMAREN; -extern s32b VARDA_EVENSTAR; -extern s32b VARDA_STARKINDLER; - -bool_ *varda_light_of_valinor_spell(); -char *varda_light_of_valinor_info(); -bool_ *varda_call_of_almaren_spell(); -char *varda_call_of_almaren_info(); -bool_ *varda_evenstar_spell(); -char *varda_evenstar_info(); -bool_ *varda_star_kindler_spell(); -char *varda_star_kindler_info(); - -/** * spells4.c */ void init_school_books(); @@ -2912,3 +2343,11 @@ extern s32b SCHOOL_YAVANNA; void lua_cast_school_spell @ cast_school_spell(s32b spell_idx, bool no_cost = FALSE); void spell_description_add_line(s32b spell_idx, cptr line); + +/** + * spells5.c + */ +void school_spells_init(); +s16b get_random_spell(s16b random_type, int lev); +bool check_spell_depends(s16b spell_idx); +int spell_get_school_idx(s16b spell_idx, int i); |