One hit many kills!

Users who are viewing this thread

Walord

Recruit
Hi to all.

Is there any chance to make a mod which will contain more realistic combat? for example the thing that make me mad :evil: is when during the great battle with many enemies around me I'm fighting with long sword or axe and I can hit or kill only one enemy by single hit, that's so disgrace, please tell me is it possible to change that? to make wounding or killing many enemies by one hit.

Thanks for replies.
 
Honestly. It is not realistic that a sword can cut through more than one man in mail/plate. It's not even too realistic now being able to slice at plate armor with a simple sword. Being able to do that would make the first man hit hurt the most while the other secondary men barely hurt at all because a majority of the power was delivered to the first guy.
 
Well I didn't say that they are in mail/plate but anyway even if they not in it, you still can't hit or kill even two of them with single swing using heavy long sword and that's not fair  :sad: so is there a possibility to change that?
 
Ok I did find a way.  Now my mod is based on the manga berserk and the main character is rediculously strong.  So he does kill a couple people with one hit but even in the manga and the mod I don't give him that power right away.  If you are intending to give this power to any main character it might even work better if you wound a couple people in front of you.  I am also still working out how to give ai an area attack.
Thanks to HokieBT's and foxyman's help I have figured out how to make the area attack trigger on swing and it will hit anyone in front of you 180 degrees.
Well enough summary this is my working code.
dragonslayer_trigger = (0, 0, .5, [
    (this_or_next|game_key_is_down, gk_attack),
  (eq, "$attack_key_down", 1),
                  (eq, "$kill_lock", 0),

    (neg|key_is_down, key_left_control),#safety check so that you can hold down control and not massacre your own troops.
    (neg|main_hero_fallen,0),
    (get_player_agent_no, ":player_agent"),
    (agent_get_wielded_item,":wielded_item",":player_agent",0),
    (eq,":wielded_item","itm_dragonslayer"),
    (assign,"$two_enemies",2),#sets how many targets max will be hit by area of effect.  You can remove all three lines that list $two_enemies if you #want it to hit anyone and everyone in range
    (eq,"$berserk_power",1),
                                  ],
    [(assign, "$kill_lock", 1), 
    (try_begin),
(game_key_is_down, gk_attack),
(assign, "$attack_key_down", 1),
    (else_try),
    (assign, "$attack_key_down", 0),
    (get_player_agent_no, ":player_agent"),   
    (agent_get_position,pos1,":player_agent"),
    #(agent_set_animation,":player_agent","anim_release_slashright_twohanded"),
    #(particle_system_burst,"psys_special_attack",pos1,100),
    (try_for_agents,":agent"),
      (agent_is_alive,":agent"),
      #(agent_is_human,":agent"),
      (neq,":agent",":player_agent"),
      #(neg|agent_is_ally,":agent"),
      (agent_get_position,pos2,":agent"),
      (neg|position_is_behind_position,pos2,pos1),
      (gt,"$two_enemies",0),
      (get_distance_between_positions,":dist",pos1,pos2),
      (lt,":dist",300),#sets distance of aoe from the player scale it to your weapon's range. add arm distance to your weapon range.
      (particle_system_burst,"psys_game_blood_2",pos2,500),#you don't have to have this much blood 500%
      (agent_play_sound,":agent","snd_man_die"),
      (agent_play_sound,":agent","snd_metal_hit_high_armor_high_damage"),
      (agent_set_animation,":agent","anim_force_knocked"),#knocks target over if they aren't killed. :smile:
      (store_agent_hit_points, ":cur_hit_points",":agent",1),
      (val_sub,":cur_hit_points",90),#base damage of aoe
      (val_max,":cur_hit_points",0),
      (agent_set_hit_points,":agent",":cur_hit_points",1),
      (val_sub,"$two_enemies",1),
      (try_begin),
        (lt,":cur_hit_points",1),
        (agent_deliver_damage_to_agent,":player_agent",":agent"),
      (try_end),
    (try_end),
    (try_end),
    (assign,"$kill_lock",0),
    ])
This is a mission template trigger.  I define it at the top of the file before this
mission_templates = [

Once it is somewhere up there you can call it in any individual template like
"lead_charge"
"castle_attack_walls_ladder"
or any of the combat templates by putting the name of the trigger with all the other triggers of that mission template.  You don't have to paste the whole deal just the name, dragonslayer_trigger, in this case.

If you wanted to define a set of items with heavy weapon swing damage you could put them all beside each other in module_items and check that the item (is_between,":wielded_item", "itm_big_ass_axe", "itm_not_a_heavy_weapon"), instead of checking for one item like I have done.
The last item listed in the range is not included thats why I called it itm_not_a_heavy_weapon.
 
Thanks for this, but I can't get it work, the game crashes, is it working with all versions of the game? I'm using 1.003. Well maybe I'm doing something wrong, can you copy your whole working file with this modification? I'd be glad for this.
 
And I don't know how I would convert it to txt format.  It would be possible to download the string of numbers representing this trigger but then the trigger would be looking for the Dragonslayer.  Look to download v 2.6 of python and then do a search on how to get it to work.
 
Berserker Pride said:
And I don't know how I would convert it to txt format.  It would be possible to download the string of numbers representing this trigger but then the trigger would be looking for the Dragonslayer.  Look to download v 2.6 of python and then do a search on how to get it to work.

So not possible to tweak it into wedding dance?
 
Back
Top Bottom