OSP Kit Combat Combat Abilities

Users who are viewing this thread

Chel

Master Knight
COMBAT ABILITIES KIT
These are the combat abilites I wrote, and think they add a something to the combat dynamic and help balance things between foot and mounted player characters. Some are old, the rest are new. Feel free to use, modify, adapt, improve in your game or mod. If you'd like to test them out, they are currently implemented in EGIII v0.91 mod (link in my signature).
70077366.jpg

CODE:

Help message

paste into module_mission_templates.py, at the top, right above "common_battle_mission_start" for example.
Code:
abilities_help_on = (0, 0, 0,[(key_clicked, key_n),
            (tutorial_message, "@Combat abilities ^^J : RAGE, +5 Power strike, +5 Power throw, +5 Agility, lasts for 2xStrength sec, requires 14 Strength ^^K : FOCUS, +10xIntelligence to weapon proficiencies, +5 Agility, lasts for 2xIntelligence sec, requires 14 Intelligence ^^O : SPRINT, +7 Athletics, +15 Agility, lasts for 2xAgility seconds, requires 14 Agility ^^T : WHISTLE FOR HORSE, call a horse to come to you, more than one with higher Charisma, requires 14 Charisma ^^Y : FIRST AID, treat your immediate wounds to recover 3xFirstAid+Intelligence hitpoints, requires 14 Intelligence ^^U : BATTLECRY, rally your wounded troops to fight and recover 3xLeadership+Charisma percent of their hitpoints ^^B : WARCRY, unleash a fearsome cry to terrify weaker oppnents around you ^^G : TAUNT, attract the attention of your enemies, more with higher charisma^^All combat abilites can be used every 60 seconds in battle ^^Press M to see several other important changes ^^Press H to close help."),
], [])        
abilities_help_extra = (0, 0, 0,[(key_clicked, key_m),
            (tutorial_message, "@ blank."),
], [])        
abilities_help_off = (0, 0, 0,[(key_clicked, key_h),
            (tutorial_message, "@ "),
], [])

Experience cost scripts, paste into module_scripts.py, at the end for example.
Code:
  ("rage_exp_penalty",
    [(store_character_level,":level","trp_player"),
     (val_mul,":level",-8),
     (add_xp_to_troop,":level","trp_player"),
     (assign,reg1,":level"),
       (display_message, "@You spent {reg1} experience points.",0x6495ed),      
     ]),

    ("sprint_exp_penalty",
    [(store_character_level,":level","trp_player"),
     (val_mul,":level",-6),
     (add_xp_to_troop,":level","trp_player"),
     (assign,reg1,":level"),
       (display_message, "@You spent {reg1} experience points.",0x6495ed),      
     ]),

    ("focus_exp_penalty",
    [(store_character_level,":level","trp_player"),
     (val_mul,":level",-10),
     (add_xp_to_troop,":level","trp_player"),
     (assign,reg1,":level"),
       (display_message, "@You spent {reg1} experience points.",0x6495ed),      
     ]),

the rest is actual code for the abilities, each part should be pasted into each combat mission in module_mission_templates.py that you want it to work in, like "lead_charge", "village_attack_bandits", "village_raid", "besiege_inner_battle_castle", etc.

Help messages (also good to paste into something like "town_center" mission so can be read outside of battle)
Code:
# EGIII ABILITIES
abilities_help_on,
abilities_help_extra,
abilities_help_off,

(3, 0, ti_once, [], [
                (display_message,"@Press N for help",0x6495ed),
         ]),
        
     (1, 0, ti_once, [], [
                (assign, "$ability", 1),     ]),

Horse whistle after I wrote it, I noticed The Mercenary did this already, and very nicely, although slightly differently - in his version you only call your horse, if you came into battle with one. I did such that you can call any horse if you have enough charisma, and if you have even more charisma you can call multiple ones, and possibly create a small stampede :grin:
Code:
# EGIII Whistle for horse

     (0, 0, 60, [(key_clicked, key_t),(store_attribute_level,"$attribute","trp_player",3),(ge,"$attribute",14),(neg|main_hero_fallen)], [
                 (play_sound,"snd_horse_low_whinny"),
                              
      (get_player_agent_no, ":player_agent"),
      (agent_get_position, pos1, ":player_agent"),
    (store_sub,":ch_bonus","$attribute",14),
    (val_div,":ch_bonus",-2),
    (assign,":whistled",":ch_bonus"),
    (try_for_agents,":agent"),
   
         (agent_is_alive,":agent"),
         (neg|agent_is_human,":agent"),
         (neg|ge,":whistled",1),
         (agent_get_position, pos2, ":agent"),
         (get_distance_between_positions,":distance",pos2,pos1),
         (ge,":distance",250),

(agent_set_scripted_destination,":agent",pos1,1),
(val_add,":whistled",1),

    (try_end),   
    (display_message,"@You whistle for a horse!",0x6495ed),   
    (call_script, "script_sprint_exp_penalty"),  
         ]),

Taunt good for getting circling horse archers to try and melee you, or distracting some infantry charging at your archers so they can take more fire. More charisma allows to taunt more enemies for a short period.
Code:
# EGIII taunt

     (0, 0, 60, [(key_clicked, key_g),(store_attribute_level,"$attribute","trp_player",3),(neg|main_hero_fallen)], [
                 (play_sound,"snd_man_warcry"),
                              
      (get_player_agent_no, ":player_agent"),
      (agent_get_position, pos1, ":player_agent"),
    (store_sub,":ch_bonus","$attribute",0),
    (val_div,":ch_bonus",-3),
    (assign,":whistled",":ch_bonus"),
    (try_for_agents,":agent"),
   
         (agent_is_alive,":agent"),
         (agent_is_human,":agent"),
         (neg|agent_is_ally,":agent"),
         (neg|ge,":whistled",1),
         (agent_get_position, pos2, ":agent"),
         (get_distance_between_positions,":distance",pos2,pos1),
         (ge,":distance",600),
        
            (agent_set_scripted_destination,":agent",pos1,1),
            (val_add,":whistled",1),

    (try_end),   
    (display_message,"@You taunt your enemies!",0x6495ed),
    (call_script, "script_rage_exp_penalty"),  
         ]),
    (0, 4, 60, [(key_clicked, key_g),(neg|main_hero_fallen)
    
     ], [
                
    (try_for_agents,":agent"),
     (agent_is_alive,":agent"),
         (agent_is_human,":agent"),
         (neg|agent_is_ally,":agent"),
(agent_clear_scripted_mode,":agent"),
    (try_end),   

         ]),

Warcry scares away enemies surrounding you that are lower level than twice your level for a short period. Very good for getting out of a tough spot as an infantryman (and followed by Sprint), or scattering an infantry line as you charge them on foot or horse.
Code:
 #EGIII WARCRY

     (0, 0, 60, [(key_clicked, key_b),(neg|main_hero_fallen)
    
     ], [
                
(play_sound,"snd_man_victory"),
             
      (get_player_agent_no, ":player_agent"),
      (agent_get_position, pos1, ":player_agent"),
      (store_character_level,":level","trp_player"),
     # (agent_set_animation, ":player_agent", "anim_cheer"),
      (val_mul,":level",2),
      (val_add,":level",1),

    (try_for_agents,":agent"),
        (set_fixed_point_multiplier, 1),
         (agent_is_alive,":agent"),
         (agent_is_human,":agent"),
         (neg|agent_is_ally,":agent"),
        
         (agent_get_troop_id,":trp_agent", ":agent"),
         (store_character_level,":troop_level",":trp_agent"),
         (ge,":level",":troop_level"),
         (agent_get_position, pos2, ":agent"),
         (get_distance_between_positions,":distance",pos2,pos1),
         (lt,":distance",500),
        
         (set_fixed_point_multiplier, 10),
        
         (position_get_x,":player_x",pos1),
         (position_get_y,":player_y",pos1),
         (position_get_x,":enemy_x",pos2),
         (position_get_y,":enemy_y",pos2),

         (store_sub,":difference_x",":enemy_x",":player_x"),
         (val_mul,":difference_x",12),

         (store_sub,":difference_y",":enemy_y",":player_y"),
         (val_mul,":difference_y",12),
        
         (val_add,":enemy_x",":difference_x"),
         (val_add,":enemy_y",":difference_y"),
        
         (position_set_x,pos2,":enemy_x"),
         (position_set_y,pos2,":enemy_y"),
        
         (agent_set_scripted_destination,":agent",pos2,1),
    (try_end),   

    (display_message,"@You unleash a fearsome cry!",0x6495ed),
        (set_fixed_point_multiplier, 1),
    (call_script, "script_focus_exp_penalty"),  
         ]),
   
    (0, 5, 60, [(key_clicked, key_b),(neg|main_hero_fallen)
    
     ], [
                
    #(display_message,"@Enemies regain their courage!",0x6495ed),
    (try_for_agents,":agent"),
     (agent_is_alive,":agent"),
         (agent_is_human,":agent"),
         (neg|agent_is_ally,":agent"),
(agent_clear_scripted_mode,":agent"),
    (try_end),   

         ]),    
    (0, 7, 60, [(key_clicked, key_b),(neg|main_hero_fallen)
    
     ], [
                
    (try_for_agents,":agent"),
     (agent_is_alive,":agent"),
         (agent_is_human,":agent"),
         (neg|agent_is_ally,":agent"),
(agent_clear_scripted_mode,":agent"),
    (try_end),   

         ]),

First aid allows you to heal a small number of hitpoints in battle, higher with more intelligence and first aid skill. Good to mitigate the effects of random arrows hitting your head and making high intelligence character more viable.
Code:
# EGIII first aid

     (0, 0, 60, [(key_clicked, key_y),(store_attribute_level,"$attribute","trp_player",2),(ge,"$attribute",14),(neg|main_hero_fallen)], [
                 (play_sound,"snd_man_grunt_long"),
                              
      (get_player_agent_no, ":player_agent"),
      (store_skill_level,":first_aid","skl_first_aid","trp_player"),
     
    (store_sub,":int_bonus","$attribute",0),
    (val_mul,":first_aid",3),
    (store_agent_hit_points,":life",":player_agent",1),
    (val_add,":first_aid",":int_bonus"),
    (val_add,":life",":first_aid"),
    (agent_set_hit_points,":player_agent",":life",1),
(agent_set_animation, ":player_agent", "anim_strike_abdomen_front"),
    (assign,reg1,":first_aid"),
      
(display_message,"@You treat your wounds! (recover {reg1} hitpoints)",0x6495ed),        
    (call_script, "script_focus_exp_penalty"),  
         ]),

Battlecry recovers percentage of your wounded troops' life, and looks and sounds great :grin:
Code:
# battlecry

     (0, 0, 60, [(key_clicked, key_u),(store_attribute_level,"$attribute","trp_player",3),(neg|main_hero_fallen),
     (play_sound,"snd_man_warcry"),
     ], [
(get_player_agent_no, ":player_agent"),
(try_begin),
        (agent_get_class ,":blah", ":player_agent"),
        (neq,":blah",grc_cavalry),
          (agent_set_animation, ":player_agent", "anim_cheer"),
         (try_end),
         ]),   
    (0, 2, 60, [(key_clicked, key_u),(store_attribute_level,"$attribute","trp_player",3),(neg|main_hero_fallen),
    
     (get_player_agent_no, ":player_agent")
     ], [

    (store_skill_level,":leadership","skl_leadership","trp_player"),
     (get_player_agent_no, ":player_agent"),
    (store_sub,":cha_bonus","$attribute",0),
    (val_mul,":leadership",3),
    (try_for_agents,":agent"),
   

         (agent_is_alive,":agent"),
         (agent_is_human,":agent"),
         (agent_is_ally,":agent"),
         (neg|eq,":agent",":player_agent"),
         (store_agent_hit_points,":life",":agent",0),
         (try_begin),
        (agent_get_class ,":blah", ":agent"),
        (neq,":blah",grc_cavalry),
          (agent_set_animation, ":agent", "anim_cheer"),
         (try_end),
        
    (val_add,":life",":cha_bonus"),
    (val_add,":life",":leadership"),
    (agent_set_hit_points,":agent",":life",0),        
    #(agent_get_horse,":horse",":agent"),
    (agent_play_sound, ":agent", "snd_man_victory"),
          #(agent_set_animation, ":agent", "anim_cheer"),
         (try_end),
         (store_add,":recovery",":leadership",":cha_bonus"),
         (assign,reg1,":recovery"),
(display_message,"@You rally your men! (wounded troops recover {reg1} % hitpoints)",0x6495ed),        
    (call_script, "script_rage_exp_penalty"),  
         ]),

Rage
Code:
         # rage NEW9
       
     (0, 0, 60, [(key_clicked, key_j), (store_attribute_level,"$attribute","trp_player",0),(ge,"$attribute",14),(eq,"$ability",1),(neg|main_hero_fallen)], [
                 (play_sound,"snd_man_victory"),
                 (display_message,"@You rage in battle!",0x6495ed),                
                 (reset_mission_timer_b),

                 (assign, "$ability", 2),
                 (store_attribute_level,"$attribue2","trp_player",0),
                 (val_mul,"$attribue2",2),

                 (store_skill_level,"$iron","skl_ironflesh","trp_player"),
                 (store_skill_level,"$strike","skl_power_strike","trp_player"),
                 (store_skill_level,"$draw","skl_power_draw","trp_player"),
                 (store_skill_level,"$throw","skl_power_throw","trp_player"),                
                
                 (troop_raise_skill,"trp_player","skl_power_strike",5),
                 #(troop_raise_skill,"trp_player","skl_power_draw",5),
                 (troop_raise_skill,"trp_player","skl_ironflesh",5),
                 (troop_raise_skill,"trp_player","skl_power_throw",5),

                 (store_skill_level,"$ironnew","skl_ironflesh","trp_player"),
                 (store_skill_level,"$strikenew","skl_power_strike","trp_player"),
                 (store_skill_level,"$drawnew","skl_power_draw","trp_player"),
                 (store_skill_level,"$thrownew","skl_power_throw","trp_player"),                
        
                 (troop_raise_attribute,"trp_player",1,5),

           
         ]),

     (1, 0, 0, [(store_mission_timer_b,"$timer"),(gt,"$timer","$attribue2"),(eq,"$ability",2)], [

                 (val_sub,"$iron","$ironnew"),
                 (val_sub,"$strike","$strikenew"),
                 (val_sub,"$draw","$drawnew"),
                 (val_sub,"$throw","$thrownew"),            

                 (troop_raise_skill,"trp_player","skl_ironflesh","$iron"),
                 (troop_raise_skill,"trp_player","skl_power_strike","$strike"),
                 (troop_raise_skill,"trp_player","skl_power_draw","$draw"),
                 (troop_raise_skill,"trp_player","skl_power_throw","$throw"),

                 (troop_raise_attribute,"trp_player",1,-5),                   

                 (display_message,"@Your rage dies down...",0x6495ed),
                 (call_script, "script_rage_exp_penalty"),      

                 (assign, "$ability", 1),

         ]),


     (1, 0, 0, [(main_hero_fallen),(eq,"$ability",2)], [

                 (val_sub,"$iron","$ironnew"),
                 (val_sub,"$strike","$strikenew"),
                 (val_sub,"$draw","$drawnew"),
                 (val_sub,"$throw","$thrownew"),            

                 (troop_raise_skill,"trp_player","skl_ironflesh","$iron"),
                 (troop_raise_skill,"trp_player","skl_power_strike","$strike"),
                 (troop_raise_skill,"trp_player","skl_power_draw","$draw"),
                 (troop_raise_skill,"trp_player","skl_power_throw","$throw"),

                 (troop_raise_attribute,"trp_player",1,-5),                   

                 (display_message,"@Your rage dies down...",0x6495ed),
                 (call_script, "script_rage_exp_penalty"),      

                 (assign, "$ability", 1),

         ]),     

     (ti_tab_pressed, 0, 0, [(eq,"$ability",2)], [

                 (val_sub,"$iron","$ironnew"),
                 (val_sub,"$strike","$strikenew"),
                 (val_sub,"$draw","$drawnew"),
                 (val_sub,"$throw","$thrownew"),            

                 (troop_raise_skill,"trp_player","skl_ironflesh","$iron"),
                 (troop_raise_skill,"trp_player","skl_power_strike","$strike"),
                 (troop_raise_skill,"trp_player","skl_power_draw","$draw"),
                 (troop_raise_skill,"trp_player","skl_power_throw","$throw"),

                 (troop_raise_attribute,"trp_player",1,-5),                   

                 (display_message,"@Your rage dies down... ",0x6495ed),
                 (call_script, "script_rage_exp_penalty"),      

                 (assign, "$ability", 1),

         ]),     

# rage end

Sprint
Code:
# sprint NEW8

     (0, 0, 60, [(key_clicked, key_o),(store_attribute_level,"$attribute","trp_player",1),(ge,"$attribute",14),(eq,"$ability",1),(neg|main_hero_fallen)], [
                 (play_sound,"snd_man_victory"),
                 (display_message,"@You push yourself to the limit!",0x6495ed),                
                 (reset_mission_timer_b),

                 (assign, "$ability", 3),
                 (store_attribute_level,"$attribue2","trp_player",1),
                 (val_mul,"$attribue2",2),

                 (store_skill_level,"$athletics","skl_athletics","trp_player"),

                 (troop_raise_skill,"trp_player","skl_athletics",7),        
                 (troop_raise_attribute,"trp_player",1,15),

                 (store_skill_level,"$athleticsnew","skl_athletics","trp_player"),                



           
         ]),

     (1, 0, 0, [(store_mission_timer_b,"$timer"),(gt,"$timer","$attribue2"),(eq,"$ability",3)], [

                 (val_sub,"$athletics","$athleticsnew"),

                 (troop_raise_skill,"trp_player","skl_athletics","$athletics"),

                 (troop_raise_attribute,"trp_player",1,-15),                   

                 (display_message,"@You are out of breath... ",0x6495ed),
                 (call_script, "script_sprint_exp_penalty"),      

                 (assign, "$ability", 1),

         ]),

     (1, 0, 0, [(main_hero_fallen),(eq,"$ability",3)], [

                 (val_sub,"$athletics","$athleticsnew"),

                 (troop_raise_skill,"trp_player","skl_athletics","$athletics"),

                 (troop_raise_attribute,"trp_player",1,-15),                   

                 (display_message,"@You are out of breath... ",0x6495ed),
                 (call_script, "script_sprint_exp_penalty"),      

                 (assign, "$ability", 1),
         ]),     

     (ti_tab_pressed, 0, 0, [(eq,"$ability",3)], [

                   (val_sub,"$athletics","$athleticsnew"),

                 (troop_raise_skill,"trp_player","skl_athletics","$athletics"),

                 (troop_raise_attribute,"trp_player",1,-15),                   

                 (display_message,"@You are out of breath.. ",0x6495ed),
                 (call_script, "script_sprint_exp_penalty"),      

                 (assign, "$ability", 1),
         ]),     


# sprint end

Focus
Code:
# focus NEW8

     (0, 0, 60, [(key_clicked, key_k),(store_attribute_level,"$attribute","trp_player",2),(ge,"$attribute",14),(eq,"$ability",1),(neg|main_hero_fallen)], [

                 (display_message,"@You focus on your weapon completely!",0x6495ed),                
                 (reset_mission_timer_b),

                 (assign, "$ability", 4),
                 (store_attribute_level,"$attribue2","trp_player",2),
                 (store_attribute_level,"$bonus","trp_player",2),

                 (val_mul,"$bonus",10),                
                 (val_mul,"$attribue2",2),

                (troop_raise_proficiency_linear,"trp_player",0,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",1,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",2,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",3,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",4,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",5,"$bonus"),                         

                 (troop_raise_attribute,"trp_player",1,5),

           
         ]),

     (1, 0, 0, [(store_mission_timer_b,"$timer"),(gt,"$timer","$attribue2"),(eq,"$ability",4)], [

                 (val_mul,"$bonus",-1),

                (troop_raise_proficiency_linear,"trp_player",0,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",1,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",2,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",3,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",4,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",5,"$bonus"),          

                 (troop_raise_attribute,"trp_player",1,-5),                   

                 (display_message,"@Your lose your focus...",0x6495ed),
                 (call_script, "script_focus_exp_penalty"),      

                 (assign, "$ability", 1),

         ]),

      (1, 0, 0, [(main_hero_fallen),(eq,"$ability",4)], [

                 (val_mul,"$bonus",-1),

                (troop_raise_proficiency_linear,"trp_player",0,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",1,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",2,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",3,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",4,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",5,"$bonus"),          

                 (troop_raise_attribute,"trp_player",1,-5),                   

                 (display_message,"@Your lose your focus... ",0x6495ed),
                 (call_script, "script_focus_exp_penalty"),      

                 (assign, "$ability", 1),
         ]),     

     (ti_tab_pressed, 0, 0, [(eq,"$ability",4)], [

                 (val_mul,"$bonus",-1),

                (troop_raise_proficiency_linear,"trp_player",0,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",1,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",2,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",3,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",4,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",5,"$bonus"),          

                 (troop_raise_attribute,"trp_player",1,-5),                   

                 (display_message,"@Your lose your focus... ",0x6495ed),
                 (call_script, "script_focus_exp_penalty"),      

                 (assign, "$ability", 1),


         ]),     

# focus end


P.S. Also in some rare cases (I've never seen it happen, but people have reported it, I'm not sure when and why) the bonuses from rage/focus/sprint do not go away and become permanent.
Adding this to module_triggers.py should fix this problem in most cases:

Code:
     (1, 0, 1, [(eq,"$ability",2)], [

                 (val_sub,"$iron","$ironnew"),
                 (val_sub,"$strike","$strikenew"),
                 (val_sub,"$draw","$drawnew"),
                 (val_sub,"$throw","$thrownew"),            

                 (troop_raise_skill,"trp_player","skl_ironflesh","$iron"),
                 (troop_raise_skill,"trp_player","skl_power_strike","$strike"),
                 (troop_raise_skill,"trp_player","skl_power_draw","$draw"),
                 (troop_raise_skill,"trp_player","skl_power_throw","$throw"),

#                 (troop_raise_attribute,"trp_player",0,-20),
                 (troop_raise_attribute,"trp_player",1,-5),                   

                 (display_message,"@Your rage dies down...",0x6495ed),
                 (call_script, "script_rage_exp_penalty"),      

                 (assign, "$ability", 1),

         ]),
       
(1, 0, 1, [(eq,"$ability",3)], [

                 (val_sub,"$athletics","$athleticsnew"),

                 (troop_raise_skill,"trp_player","skl_athletics","$athletics"),

                 (troop_raise_attribute,"trp_player",1,-15),                   

                 (display_message,"@You are out of breath... ",0x6495ed),
                 (call_script, "script_sprint_exp_penalty"),      

                 (assign, "$ability", 1),
         ]),     

      (1, 0, 1, [(eq,"$ability",4)], [

                 (val_mul,"$bonus",-1),

                (troop_raise_proficiency_linear,"trp_player",0,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",1,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",2,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",3,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",4,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",5,"$bonus"),          

                 (troop_raise_attribute,"trp_player",1,-5),                   

                 (display_message,"@Your lose your focus... ",0x6495ed),
                 (call_script, "script_focus_exp_penalty"),      

                 (assign, "$ability", 1),
         ]),
 
Last edited by a moderator:
these look very cool, thanks for posting this, I'll check it out!

FYI - some of your call_script commands seem to be messed up?  For example the Warcry has (call_script, "script_focus_exp_penalty"), and some of the other ones call different scripts then the ability as well.
 
HokieBT said:
these look very cool, thanks for posting this, I'll check it out!

FYI - some of your call_script commands seem to be messed up?  For example the Warcry has (call_script, "script_focus_exp_penalty"), and some of the other ones call different scripts then the ability as well.

no, thats fine. there are three exp penalty scripts, some cost [8exp]x[player lvl], some [6exp]x[player lvl], some [10exp]x[player lvl], and the warcrys and other abilities use one of those three experience costs, depending on how useful they are. You can of course define your own costs, or remove them altogether.
 
NICEEE, i will have to use at least some of these in my mod! GJ dude keep  it up!

Edit: i can choose the ones i want right?
 
Chel,

I noticed in your battle cry stuff, that you check if the player is on horseback.  If he is you don't run an animation.  I'm guessing you are in the same boat as I am, and not able to find the horseback equivalent to the on foot cheer.  Doesn't any one know how to harness them?  They are there, you see them in game...

In any case, NICE!  I like that you penalize the player for using these abilities, but they sound like they make the game fun!  I may add a few of these to my mod (with credit of course!)
 
jik said:
Chel,

I noticed in your battle cry stuff, that you check if the player is on horseback.  If he is you don't run an animation.  I'm guessing you are in the same boat as I am, and not able to find the horseback equivalent to the on foot cheer.  Doesn't any one know how to harness them?  They are there, you see them in game...

yeah, the check is there but seems it doesnt work for player, so if you're on horseback you get weird fall through horse animation. Not sure how to get the cheer on horseback to play myself, jik.

MISHO said:
NICEEE, i will have to use at least some of these in my mod! GJ dude keep  it up!

Edit: i can choose the ones i want right?

yes, they aren't tied to each other.
 
NaglFaar said:
Thank you chel.

I think I'm gonna try them out and see if I can get some kind of berserker ability. Nice!

If you do, try and put a red wash over the camera view.  BLOOD FRENZY!
 
NaglFaar said:
I just tried this out.

I got an error saying local variable never used. Did I do something wrong or is this something common?

you can ignore that error. it just means I defined some variable and didn't use it later (so it didn't have to be defined, but it won't affect anything)
 
just get a red bandana and once you turn berserk mode on just put one layer over your eyes :grin: no coding, plus everything turns red...
 
NaglFaar said:
I just tried this out.

I got an error saying local variable never used. Did I do something wrong or is this something common?

What you can do is see where they are defined and see if you might use them for something.  If not, you can remove the line that defines it.  Chel might have set it up to be useful for something other than what this kit does.  Similar with the same warnings you got with my game_menus.  I defined a local variable to track which mother you picked in the opening, but have yet to work out the code of the bonuses you get for that.  The compiler is complaining of a wasted use of memory (short termed as it is).
 
ok, i did everything right till the part where you actually put the abilities! now i need help, he says that the first part we put somewhere where the town center is (i tried but i keep on getting errors, so its not right) and i dont know where to copy the other ones either, if you can can you post a little bit of the real script and in a diff color post your abilities? Like in some tutorials? plz help!
 
MISHO said:
ok, i did everything right till the part where you actually put the abilities! now i need help, he says that the first part we put somewhere where the town center is (i tried but i keep on getting errors, so its not right) and i dont know where to copy the other ones either, if you can can you post a little bit of the real script and in a diff color post your abilities? Like in some tutorials? plz help!

you can look at the EGIII source code to see how they are implemented (search for ability names or 'EGIII' through the module_mission_templates.py), get it here:
https://www.mbrepository.com/file.php?cid=1&id=733
 
Back
Top Bottom