1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Need an Opinion, Monster Useless When Stood On

Discussion in 'Scripts' started by greatguys1, Nov 3, 2017.

  1. Thothie

    Thothie Administrator Staff Member Administrator Moderator Developer

    14,949
    27
    Apr 8, 2005
    psycho-oligist
    lost
    Sorta - but it has the same problem - monsters ignore snek and come after you (tried to find an easy way around that, failed). With a bomb in limited supply, containing a couple of choads designed to take a good sized bite out of a boss of your tier, this is less desirable (as opposed to the snek where you can spawn it all day). Could be allowed, in both cases, since both the snek and choads are so small you can't hide behind them, and both have a limited life span, but it'd be really nice to have a pass XP function that would allow the mobs to react normally and thus XP passing summons could act as shields/distractions.
     
  2. Kanta

    Kanta Adventurer

    223
    20
    Jan 24, 2013
    Level 45 Zauberei Basher
    ms_swamp
    Eh, in most cases I would prioritize a larger target too. Plus there are many other methods of distracting enemies (regular summons, ice wall, volcano/fire wall, pet wolf), all of which are in infinite supply as opposed to a limited bomb type weapon. If a bomb was what you were going for, over a spell. Using the snake staff recently though I do remember a few times where any enemy would sometimes kill one of my snakes, and not by accident either with a AoE attack or something.

    Edit: Snake staff also has 20 snake summoning charges btw.
     
  3. TheOysterHippopotami

    TheOysterHippopotami New Adventurer Source Developer Developer DarkTide RiP

    1,022
    4
    Sep 6, 2009
    Can I please get a weaker version of the chumtoad with less hp? I don't care about the damage but I am using set_scale on these guys and boosting their hp, but I still want to use the smallest version if possible for more variety. Please name this script chumtad.

    also, I would really love to see both a bottle of toads and a pet toad/toad charm item in fmines. Just a heads up, the pokemon-esque naming convention I have going for these frogs is -tad (small) -toad (medium) -choad (large), ex. tadclops/toadclops/choadclops for the blinking one eyed frog.
     
  4. Thothie

    Thothie Administrator Staff Member Administrator Moderator Developer

    14,949
    27
    Apr 8, 2005
    psycho-oligist
    lost
    Script's at the top of the thread - just copy it over to test_scripts and change the HP to whatever ya want. We'll redirect the scripts in your map and figure XP values later.
     
  5. Thothie

    Thothie Administrator Staff Member Administrator Moderator Developer

    14,949
    27
    Apr 8, 2005
    psycho-oligist
    lost
    [​IMG]
    Should I feel guilty?
     

    Attached Files:

  6. Kanta

    Kanta Adventurer

    223
    20
    Jan 24, 2013
    Level 45 Zauberei Basher
    ms_swamp
    I was going to heeelp yoooou!
     
  7. Lucifer Majiskus

    Lucifer Majiskus New Adventurer Sons of Babel

    Oyster wants a large choad?
     
  8. Kanta

    Kanta Adventurer

    223
    20
    Jan 24, 2013
    Level 45 Zauberei Basher
    ms_swamp
    pls
     
  9. Thothie

    Thothie Administrator Staff Member Administrator Moderator Developer

    14,949
    27
    Apr 8, 2005
    psycho-oligist
    lost
    set_scale
     
  10. Kanta

    Kanta Adventurer

    223
    20
    Jan 24, 2013
    Level 45 Zauberei Basher
    ms_swamp
    Oyster likes them t h i c c
     
  11. TheOysterHippopotami

    TheOysterHippopotami New Adventurer Source Developer Developer DarkTide RiP

    1,022
    4
    Sep 6, 2009
    Just like my lips.
     
  12. greatguys1

    greatguys1 Adventurer Developer Warriors of the North

    216
    16
    Apr 20, 2013
    Yes
    There's a lot to address, tell me if I missed something :I
    Also I was wrong at when I'd be done with that project thing; I finished it on the 15th, but being it was the biggest coding project I've done so far, I took a break. Hope I can still get stuff done :(

    To do for Chumtoad: (These won't be addressed until the next-next patch.)
    • Traceline before attack
    • Use proper scriptflag stacking ($get_scriptflags(<target>,<type>,type_value) is the one ya want, not <name>,name_value, as that'll just return the first value of <name>)
    • Move blink cycle to a token
    In response to the Ally Chumtoads, setexpowner is the only thing I can think of. If the Choads are gonna be rare, it'd be in the best interest of the player to keep them alive for the max duration so they can pump out as much dps as possible. If the Choads aren't threatened, IMO it'd defeat the purpose of them being relatively low hp and vulnerable to AoE.

    I'm gonna make a thread in the dev journal to keep track of what I'm doing / what I'll be doing, also so you y'all can see what I'm doing.

    I feel like this is a small amount of text relative to how much was posted here since I've been busy. Again lemme know if I missed something
     
  13. Thothie

    Thothie Administrator Staff Member Administrator Moderator Developer

    14,949
    27
    Apr 8, 2005
    psycho-oligist
    lost
    I managed to work up a monters/summon/base_trade_xp include you can tack on to temporary summons that does what setexpowner is supposed to do - think I mentioned it in the developer/scripts section.

    Not that you'd have to worry about it for this one. Can't think of much else to do to it, but maybe something will come up when yer testing. (Doesn't even really need this stuff done, just more optimization.)

    I added:
    monsters/externals->ext_repel <target> <origin> <strength> [vboost] [maxhp] [override:0|1]
    Which ya might find useful for repelling explosions... I also tacked on a Defile effect to the summoned variant:
    Code:
    { choadexplode_dodamage
    	if PARAM1
    	local L_TARG PARAM2
    	if $get(L_TARG,relationship,ent_me) equals enemy
    	callevent ext_repel L_TARG $get(ent_me,origin) EXPLODE_PUSH_FORCE 10 $math(multiply,$get(MY_OWNER,maxhp),3.0) //new external
    
    	if ( CHOAD_DEV_TEST )
    	{
    		local L_OWNER $get(ent_me,id)
    	}
    	else
    	{
    		local L_OWNER MY_OWNER
    	}
    	applyeffect L_TARG effects/effect_defile 10.0 L_OWNER $math(multiply,DMG_BASE,0.1)
    }
    Though, mine pause and do this inflate thing before they explode - which seems to often cause them to miss their targets.

    Code:
    { do_explode
    	setvard DID_EXPLODE 1 //tells game_death not to play normal routine
    	setvard NPC_HIDE_HBAR 1
    
    	roam 0
    	callevent npcatk_suspend_ai -1 explodin
    	callevent npcatk_suspend_movement die3 -1 explodin
    	setmovedest none
    	setanim.framerate 0.25
    	playanim critical die3 //flinch1 goes wonky when scaled
    	setvard CHOAD_SCALE NPC_SCALE
    	setvard CHOAD_INFLATE_LOOP 1
    	callevent choad_inflate_loop
    	setprop ent_me rendermode 15
    	setprop ent_me renderamt 255
    	callevent 2.5 do_explode2
    	playsound 0 10 $get_random_token(TOKEN_EXPLODE_PREP_SOUNDS) 0.8 PITCH_EXPLODE
    }
    
    { choad_inflate_loop
    	callevent 0.01 choad_inflate_loop //don't panic, it'll stop when he dies
    	add CHOAD_SCALE 0.05
    	setprop ent_me scale CHOAD_SCALE
    }
    Maybe post a video for that, after my Shadowplay decides it wants to start working again.
     
  14. Thothie

    Thothie Administrator Staff Member Administrator Moderator Developer

    14,949
    27
    Apr 8, 2005
    psycho-oligist
    lost

    There we go...

    They'd push em too, but I tied them to the GM to make them hostile - he's only got 1hp, and they can only push up to 3 times their master's maxhp.
     

    Attached Files:

  15. greatguys1

    greatguys1 Adventurer Developer Warriors of the North

    216
    16
    Apr 20, 2013
    Yes
    Ah yeah, I did see this but forgot about it ;P
    Added to the to-do for Chumtoad.

    I like the inflation for the friendly Chumtoad, it's definitely a better indicator that the chumtoad will explode to first viewers.

    I tied the explosion to the animation for Chumtoad so slows like ice or stuns will delay it until it reaches the proper point for the explosion. I doubt that matters with the friendly chumtoads.
     
  16. Thothie

    Thothie Administrator Staff Member Administrator Moderator Developer

    14,949
    27
    Apr 8, 2005
    psycho-oligist
    lost
    Fair point - didn't think of that. Could make it interruptible, but it'd be a lot more work. I was testing them with the new elves, and they kept kicking them away mid-explosion animation, making the elves look a lot smarter than they are. Was also spamming them all over Umulak, only to find they are absolutely helpless against red-aura mummies and might need yet more HP. The new "base_minai" is hell of efficient at least - I can spam a dozen or more without a bit of lag - but I'm sure more deficiencies are gonna crop up, and it has a lot of limitations.
     
  17. greatguys1

    greatguys1 Adventurer Developer Warriors of the North

    216
    16
    Apr 20, 2013
    Yes
    I doubt interrupts or proper explode times matter too much when npcs are fighting each other. I only took note of it 'cuz if I were fighting it, I'd expect it to explode consistent with the animation, not on a timer.

    The minai got me thinking about how msc monsters navigate. I have an idea for node based AI, but I need to think about it a bit more, after making visuals, I realize I don't have enough theory for a proof.
     
  18. MS:C community

    MS:C community Adventurer

    366
    24
    Jul 7, 2011
    Node based AI in MS:C would be really rad.
     
  19. Thothie

    Thothie Administrator Staff Member Administrator Moderator Developer

    14,949
    27
    Apr 8, 2005
    psycho-oligist
    lost
    If ya look at monsters/wyrm_fire, you can see how it's made to process a series of info_targets to follow a path. You could rig up mobs to patrol a series of them, abandon that pattern when they see a target, and return to the nearest node upon losing said target, but beyond that, yeah, our dynamic monster navigation is generally better than most node based navigation, especially since MiB fixed the whiskers and they aren't apt to get hung up on protrusions and corners so much. Wouldn't be that hard to make it an option that could be applied via a one-time applyeffect that checked npcatk_hunt when "NPCATK_TARGET equals unset" though.

    In the wyrm's case, he's designed to follow an irregular river of lava and fire at targets as he goes, periodically switching that procedure up to appear at various predesignated fire pits.
     
  20. Kanta

    Kanta Adventurer

    223
    20
    Jan 24, 2013
    Level 45 Zauberei Basher
    ms_swamp
    Sure I guess it is better in large open space where enemies have nothing to do but charge directly at a player with no obstructions, classic AI nodes are a lot more attractive to watch than a mob grinding its face against a wall going left and right until it happens upon an open path/doorway.
     
  21. Kanta

    Kanta Adventurer

    223
    20
    Jan 24, 2013
    Level 45 Zauberei Basher
    ms_swamp

    maybe im nitpicking, or targeting low hanging fruit like smugglers_cove but seriously, you can observe this behavior almost anywhere easily
     
  22. Thothie

    Thothie Administrator Staff Member Administrator Moderator Developer

    14,949
    27
    Apr 8, 2005
    psycho-oligist
    lost
    True, although in this case it's partially the fault of bad monster clipping. In an active node navigation solution you'd have a similar result, however, as before they navigated down the cliff, they'd spot the player while they were closer than the node, causing them to backtrack. Tis among the reasons I suspect that, if one were to implement such a solution, it'd have to be of the patrol route until enemy spotted variety. Gets especially bad when the player gets into places where the node navigation is ambiguous, and you end up with railroads of monsters going in circles.
     
  23. Kanta

    Kanta Adventurer

    223
    20
    Jan 24, 2013
    Level 45 Zauberei Basher
    ms_swamp
    So long as the AI doesn't reach Cry of Fear steam release levels of cheating, I'm fine with whatever.
     
  24. MS:C community

    MS:C community Adventurer

    366
    24
    Jul 7, 2011
    Are you serious? NPCs can't even navigate a U-turn to get to you. MS:C navigational AI is bad to the extent that
    • Map layouts are dumbed down;
    • Monsters that spam (AoE) ranged attacks are used, so that they don't have to move a lot (or at all) to begin with;
    • Super cheap hacks are used, like the func_monsterclip placement in the Bloodrose boss chamber that allows NPCs to walk over death pits;
    • Even cheaper hacks are used, like the Shadahar orcs in shad_palace that can teleport through almost the entire palace (and a lore reason is tacked on as to why they can do this);
    • Combination of the above.

    MS:C is in dire need of node-based AI navigation, really.
     
    Last edited: Dec 23, 2017
    Malachite and Kanta like this.
  25. Thothie

    Thothie Administrator Staff Member Administrator Moderator Developer

    14,949
    27
    Apr 8, 2005
    psycho-oligist
    lost
    I'd hate to break it to ya, but within the limits of what we can do, active node based navigation would be a whole lot worse. If we were to litter the Bloodrose boss chamber with a node system like that, for instance, they would more often than not end up circling the entire chamber, and portions of the center lattice, to find their way back to you - and then reverse that circle as you moved about. Adding the ability to patrol a route might be doable, but actively finding a target in the sequence would lead to some rather nasty old-time Quake2 style disasters that most of our maps are simply not built to deal with.
     

Share This Page