INFO Bug Reports NOV2015a

MS:C community

Old Skool Apostle
Alpha Tester
Joined
Jul 7, 2011
Messages
504
Reaction score
109
Found another bug, related to mapping:

I was messing around with msmonster_random and tl;dr I made this monster:

{
"spawnstart" "0"
"random_1_scriptfile" "monsters/hungryrat"
"random_1_reqhp" "0;499.99"
"random_1_params" "set_die_nt;15"
"random_2_scriptfile" "monsters/rat_fangtooth"
"random_2_reqhp" "500"
"random_2_params" "set_die_nt;15"
"spawnarea" "spawn_red"
"spawnchance" "100"
"delayhigh" "2"
"delaylow" "1"
"lives" "1"
"classname" "msmonster_random"
}

The goal is obvious: Below 500 HP I want a hungry looking rat to spawn, above 500 HP I want a fang tooth to spawn.
Now I noticed two things:
1) If the random spawner chooses a monster that falls out of the current total HP range (50% chance of this happening, in this case), nothing happens. To be honest, I was kind of hoping that the random spawner would keep looking (cycling?) until it found a monster that *could* spawn.
Or, in this particular situation: If the total HP in the server is 300, and the fang tooth is "rolled" (which can not spawn, due to the 500 HP requirement), why not keep "rolling" until a spawnable mob is found?
2) If the above actually happens (if a monster is selected that can not spawn), the ms_monsterspawn breaks. No matter how many times you retrigger it, no matter in which HP range you are (tested with the ". fakehp #" command), no other mob will spawn ever again. Ever.
The changelog says:
Thothie said:
- If a randomly selected mob doesn't meet the spawn requirements, it will not spawn, and be counted as slain. (As per normal msmonster_xxx behavior.)
I'm not sure if "counted as slain" also means that the ms_monsterspawn is supposed to be reusable again, but this definitely isn't the case, sadly.
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
MS:C community said:
Thothie said:
- If a randomly selected mob doesn't meet the spawn requirements, it will not spawn, and be counted as slain. (As per normal msmonster_xxx behavior.)
I'm not sure if "counted as slain" also means that the ms_monsterspawn is supposed to be reusable again, but this definitely isn't the case, sadly.
Might explain some odd behavior on some of Oyster's maps, but yes, that's what it means...

I'll see if I can get one of the coders on it (that bit of the code's a mess). I'd suggest using triggers meantime (or maybe the spawner's themselves), rather than depending on msmonster_random to do something it wasn't actually designed for. (Even though, yes, that should work, provided you keep triggering it, at least.)

While I wouldn't want a msmonster_random cycling through invalid entries forever, nor would I want it to spawn something in the distant future because a new player joined and tipped up the HP a notch - it'd be nice if it at least moved to the next one on its list immediately, until it found it had no valid spawns, but, code wise, the system is horrifically complicated as it is.

I'm thinking we need to resdesign the code side of the monster spawns from scratch. I can't believe we've gone this many patches without at least fixing fireallperish.
 

MS:C community

Old Skool Apostle
Alpha Tester
Joined
Jul 7, 2011
Messages
504
Reaction score
109
The best thing would be something like msmonster_multi, an entity that, like msmonster_random, can have multiple entries defined, but every entry can have different maxHP, avgHP and nplayers requirements. That way mappers could make their own variant of monster ramping with just single monster entities.

Another few reports:
  • When you stand in an msarea_transition_local entity and +use to change your spawn point, holding the +use key completely spams your screen with "Local transition to [name]" messages.
  • I used the set_req_key;key_gold parameter on a chest and (when I did not yet have the golden key), +use'ing the chest gave me a "This chest requires 0" message. Other than that it works fine, as far as I can tell. The chest unlocks when you have at least one golden key in your inventory, but it doesn't eat all of them.
  • ...as opposed to the barrel of TNT entity, which will eat all the TNT you throw at it. If you have six pieces of TNT and +use a barrel that requires five in total, but already has three -- shown as "A Barrel of TNT (3/5)" in-game -- it'll be like "GIMME DAT" and all your TNT is now inside that barrel -- shown as "A Barrel of TNT (9/5)" in-game.
  • say_on_spawn and say_on_die don't work. Didn't try say_on_spot. The exact param I used was: say_on_spawn;'hi';say_on_die;'ouch'
  • Ever tried the Felewyn shard holy wave on that huge-ass spider web (the bossroom floor) in undercliffs? Because O_O

And a question:
If you enable multithreading on a multi_manager that has random = 1, does it keep (randomly) selecting its entries or do you need to target the multi_manager itself (as one of the entries) as well to achieve this?
 
Last edited:

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Damnit... I just edited your post, instead of quoting it... Ain't pulled that one in awhile... Hopefully got it back to its original state... Anywho - TL;DR reply in its proper place now:

MSC:Community said:
The best thing would be something like msmonster_multi, an entity that, like msmonster_random, can have multiple entries defined, but every entry can have different maxHP, avgHP and nplayers requirements. That way mappers could make their own variant of monster ramping with just single monster entities.
Yeah, if it kept cycling entries till it ran out it might serve that function. Might be worth pointing out that msmonster_random is the same as every other msmonster_xxxx - the only difference is the FGD supplies the extra entries. They all have this functionality, such as it is. Do be careful not to leave a gap in your random_X_scriptfile numbering though. You'll get a ".SCRIPT not found" error. (And again, don't use #0, it'll get ignored.)

It might, however, be simpler to manage this higher up on the msmonster_spawn/trigger level. Particularly if you only have two tiers and thus can use the "else target" feature. Don't use multiple msmonster_spawns with the same name though.

Self adjusting is still pretty bad, and subject to massive change, so yeah, I would prefer mappers did it this way - will try to make it easier.

Since you're fiddling with maps, ever intend on finishing the air map you put up in the contest entries? (It's about the only map that Oyster didn't run off with.)

MSC:Community said:
Another few reports:
  • When you stand in an msarea_transition_local entity and +use to change your spawn point, holding the +use key completely spams your screen with "Local transition to [name]" messages.
  • Bleh, should be a delay there.

    edit: Hrmm... There is something there to prevent that, but I canna see why it is not working, worrisome. Woulda noticed this before, except the one I was testing with also teleports you.

    It sets your transition if you just touch it, whether or not you use it. I wonder if I should rig it so that, if there's no info_teleport_destination, it isn't usable, and gives you a different notice.

    MSC:Community said:
    [*]I used the set_req_key;key_gold parameter on a chest and (when I did not yet have the golden key), +use'ing the chest gave me a "This chest requires 0" message. Other than that it works fine, as far as I can tell. The chest unlocks when you have at least one golden key in your inventory, but it doesn't eat all of them.
    The key's script may not have a proper name - maybe true of more than one key using a variable for naming. Eating just one is as intended though.

    MSC:Community said:
    [*]...as opposed to the barrel of TNT entity, which will eat all the TNT you throw at it. If you have six pieces of TNT and +use a barrel that requires five in total, but already has three -- shown as "A Barrel of TNT (3/5)" in-game -- it'll be like "GIMME DAT" and all your TNT is now inside that barrel -- shown as "A Barrel of TNT (9/5)" in-game.
    Might be tricky to fix, since, unlike the chest, it is capable of taking more than one at a time. Alternative would be to force you to put in one at a time. Might have to go that route if multiples of these get used on the same map often, though it's no biggie when there's only one or plenty of TNT faffing about. (edit: Then again, maybe not so tricky, since it's using array data rather than actual items.)
    (FIXED)

    MSC:Community said:
    [*]say_on_spawn and say_on_die don't work. Didn't try say_on_spot. The exact param I used was: say_on_spawn;'hi';say_on_die;'ouch'
    It is set_say_spawn, set_say_spot, and set_say_die - is it possible the changelog entry is wrong? (edit) Also keep in mind this makes their "text audibility" range 2048, and the mob in question must have full AI - though most do. Other than that, looks right - ya don't need 'quotes' for single words, but should work either way.

    MSC:Community said:
    [*]Ever tried the Felewyn shard holy wave on that huge-ass spider web (the bossroom floor) in undercliffs? Because O_O
Eh, no... But the fact that it's a giant func_wall causes various odd behavior. Meh, still have to re-do that in a whole lot less efficient manner to get it to heal players outside of PVP.

MSC:Community said:
And a question:
If you enable multithreading on a multi_manager that has random = 1, does it keep (randomly) selecting its entries or do you need to target the multi_manager itself (as one of the entries) as well to achieve this?
It should select a random entry each time it is fired... If you want to do it repeatedly every X# seconds, I'd have another multi-threaded multi_manager targeting itself and the randomized one, as the random one isn't smart enough not to target itself, should you provide such an entry, which may lead to, strangeness.
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Suspect they've changed how sprays work, yet again. Will need to visit the GldSrc GitHub.

Seems they broke it:
https://github.com/ValveSoftware/halflife/issues/1485

Not sure how to fix.

Maybe they still work in Svencoop?

edit: Damnit, they don't. Guess the bug is old enough that Svencoop copied it over.

Sadly the function is engine side, so this is hard to fix.


What I *might* be able to do, is stick em in the decals.wad and let you set them through the decal function. (edit: Kinda works, but can't control the color.)
 

MS:C community

Old Skool Apostle
Alpha Tester
Joined
Jul 7, 2011
Messages
504
Reaction score
109
My spray works fine in Sven Co-op but the exact same spray doesn't work in MS:C. And yes, tempdecal.wad is read-only, of course.
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
That's not a standard one from the logos folder...

I don't think the sorta custom logo you have there works in standard Half-Life anymore - but it's nice to see Svencoop brought it back. Within MSC:Svencoop (sic) the regular logos don't work for me. Not even tried a tempdecal based full color one.

But what I'm noticing is that you can't even change among the standard logos in either MSC standard nor the Svencoop variant, and this wasn't an issue early last year.
 

Monika's_BFFEx0256

Old Skool Apostle
Joined
Mar 9, 2009
Messages
1,359
Reaction score
70
I shot a lightning shaman on orc_for a couple times with poison bolts, whilst he had someone trapped.. and the server crashed. :?
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Lucifer Majiskus said:
I shot a lightning shaman on orc_for a couple times with poison bolts, whilst he had someone trapped.. and the server crashed. :?
That would be a lotta ent spam all at once.

(Also sorry if the RKS server involved didn't come back up afterwards, still working out kinks.)
 

Monika's_BFFEx0256

Old Skool Apostle
Joined
Mar 9, 2009
Messages
1,359
Reaction score
70
Make M:SC great again Thothie! We need more walls. Just walls, hallways of walls. No entities. Once you clear a room of walls, you move onto the next hall of walls. This is what we need.
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Fancy map brushes don't add to the entity count, only wpoly.

It's the lightning and light spam on top of the poison sprite and light spam that's getting you.

Splitting up a map into more parts does mean less active entities however, which is exactly why we split the_wall in two, but be it cube or sphere, makes no difference to the entity spam.

(Though, true, it does eat more resources in vis nodes and monster nav think cycles, but not entity/tempent count.)
 

zeus9860

Active Adventurer
The True Followers of the Lost
Crusaders
Blades of Urdual
Alpha Tester
Joined
Feb 28, 2008
Messages
2,581
Reaction score
37
Age
31
Location
lolwut
I heard someone mentioned the_wall, we definitely need more walls.
 

MS:C community

Old Skool Apostle
Alpha Tester
Joined
Jul 7, 2011
Messages
504
Reaction score
109
Bludgeon rage, at least for DBH, seems to abruptly end if you holster your DBH and retrieve it again within the 40 second rage period o_O
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Should end when holstered, tbh.
 

MS:C community

Old Skool Apostle
Alpha Tester
Joined
Jul 7, 2011
Messages
504
Reaction score
109
Well, it never did, and I didn't see this change in any of the changelogs, and the DBH still is sort of broken (when raging, it doesn't leech HP every hit) so imo it's a rather unfair change.
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Both being bugs I've never been able to fix (or in the latter case, duplicate)... I dunno why that thing's so glitchy, shouldn't be that complicated - might be time to write it up again from scratch.
 

MS:C community

Old Skool Apostle
Alpha Tester
Joined
Jul 7, 2011
Messages
504
Reaction score
109
Maybe my original post was too vague. What I'm trying to say is: that holster-and-the-rage-is-gone thing is new this patch. Something changed (in a bad way).
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Thought you were saying it didn't go away until you holstered and grabbed it again. I r saying it should just go away when holstered and that should end the effect - but it r buggered.
 

Monika's_BFFEx0256

Old Skool Apostle
Joined
Mar 9, 2009
Messages
1,359
Reaction score
70
Thothie said:
Thought you were saying it didn't go away until you holstered and grabbed it again. I r saying it should just go away when holstered and that should end the effect - but it r buggered.
Yeah when you holster it you have a cooldown before you can use it again.

As for not leeching every hit, you told me it wouldn't leech if the leech% would put your health over max... so it's impossible to have full health while using it. :roll:
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Yeah, that much is true, it won't give you more than your max HP, and since you're doing 200+dmg with it, this may make it look like it isn't returning health. I could make it calc the difference but it'd eat more res and wouldn't return between frames, as it wouldn't cause the client to update the health bar on that hit.
 

Monika's_BFFEx0256

Old Skool Apostle
Joined
Mar 9, 2009
Messages
1,359
Reaction score
70
Once upon-a-time the original bludgeon hammer would fill your health to the brim! Make bludgeon hammers great again 2016.

Oh yeah, and if your fps drops (Which it tends to do now since the implemented auto-detect graphic stuff) you don't leech in time and die!
 
Top