Need an Opinion, Monster Useless When Stood On

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
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.
 

Kanta

Old Skool Apostle
Alpha Tester
Joined
Jan 24, 2013
Messages
635
Reaction score
85
Location
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.
 

TheOysterHippopotami

Active Adventurer
MSS Developer
DarkTide
Joined
Sep 6, 2009
Messages
1,213
Reaction score
42
Age
32
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.
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
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.
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
choad_in_a_bottle-png.5624

Should I feel guilty?
 

Attachments

  • choad_in_a_bottle.png
    choad_in_a_bottle.png
    123.3 KB · Views: 89

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
set_scale
 

greatguys1

Epic Adventurer
MSC Developer
Warriors of the North
MSC Archivist
Joined
Apr 20, 2013
Messages
332
Reaction score
57
Age
23
Location
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
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
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.
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
[video]https://www.msremake.com/attachments/asplode-mp4.5637/[/video]
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.
 

Attachments

  • asplode.mp4
    5.2 MB · Views: 79

greatguys1

Epic Adventurer
MSC Developer
Warriors of the North
MSC Archivist
Joined
Apr 20, 2013
Messages
332
Reaction score
57
Age
23
Location
Yes
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.
Ah yeah, I did see this but forgot about it ;P
monsters/externals->ext_repel <target> <origin> <strength> [vboost] [maxhp] [override:0|1]
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.
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
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.
 

greatguys1

Epic Adventurer
MSC Developer
Warriors of the North
MSC Archivist
Joined
Apr 20, 2013
Messages
332
Reaction score
57
Age
23
Location
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.
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
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.
 

Kanta

Old Skool Apostle
Alpha Tester
Joined
Jan 24, 2013
Messages
635
Reaction score
85
Location
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.
 

Kanta

Old Skool Apostle
Alpha Tester
Joined
Jan 24, 2013
Messages
635
Reaction score
85
Location
ms_swamp
maybe im nitpicking, or targeting low hanging fruit like smugglers_cove but seriously, you can observe this behavior almost anywhere easily
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
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.
 

Kanta

Old Skool Apostle
Alpha Tester
Joined
Jan 24, 2013
Messages
635
Reaction score
85
Location
ms_swamp
So long as the AI doesn't reach Cry of Fear steam release levels of cheating, I'm fine with whatever.
 

MS:C community

Old Skool Apostle
Alpha Tester
Joined
Jul 7, 2011
Messages
500
Reaction score
107
but beyond that, yeah, our dynamic monster navigation is generally better than most node based navigation,
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:

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
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.
 
Top