Robot Destruction entity stuff

A Boojum Snark

Toraipoddodezain Mazahabado
aa
Nov 2, 2007
4,775
7,669
I poked around at the things today and thought I'd make a thread for what I've found. I wouldn't try making anything with them yet, because I assume they are very open to changing since it is a beta game mode.

The logic/hud supports any number of beepbot groups, from none up to 9 and probably more. I didn't try more because the hud reached the edge of my screen.

You can specify the hud icon to use, but that is only the "bot" picture. The lock and team color are hard coded.

You can also have a different amount of groups for each team, including having them only for one team.

The flag/stealing mechanic is not required, you can have RD without it. I have not tried but I am guessing you could also have this be one-sided.

You can specify how many cores a bot drops on death, as well as the health of the bot.

The cores are item_bonuspack, and can be manually spawned and collected (must set team/skin properly).

Bots require a nav mesh to function (hence why they don't follow the path exactly) and seem to have a hard coded speed, but they do respect path_track branching.

The main logic entity has some other settings I've yet to figure out, which may or may not work, given the beta state.

All in all, I am very pleased with the apparent flexibility of the entities and look forward to making something weird when RD is officially released.
 

henke37

aa
Sep 23, 2011
2,075
515
Don't forget the part about the game winning not being automated.
 

KingOfSpace

L1: Registered
Jan 18, 2013
22
0
All in all, I am very pleased with the apparent flexibility of the entities and look forward to making something weird when RD is officially released.

PLRD? KOTR? 5CPRD? All of them at once?

I kinda wanna see what sort of horrible monstrosity all of them at once would be
 

SSX

aa
Feb 2, 2014
392
411
I'm not so much interested in them as a gameplay element currently for any of my maps. But more so as a dynamic element to make the map feel more alive.
 

Trotim

aa
Jul 14, 2009
1,195
1,045
Does this mean you can just have the two score-counting HUD elements, manually spawn item_bonuspacks, and not have any of the robot stuff?

Is the core mechanic hardcoded, or can mappers in-/decrease team points via entities?
 

henke37

aa
Sep 23, 2011
2,075
515
Well, does the opposing team have any points for you to steal? There is a reason why the flag is disabled in asteroid.
 

taxicat

L1: Registered
Dec 29, 2012
43
152
Well, does the opposing team have any points for you to steal? There is a reason why the flag is disabled in asteroid.

Red team has 10 points in my screenshot. Probably should've used img:

1lfOZTF.png
 

A Boojum Snark

Toraipoddodezain Mazahabado
aa
Nov 2, 2007
4,775
7,669
Does this mean you can just have the two score-counting HUD elements, manually spawn item_bonuspacks, and not have any of the robot stuff?
Yes
or can mappers in-/decrease team points via entities?
No, but I imagine that wouldn't be a big request to make now that the rest of the stuff is here.
how does the setup with the flag work? I can pick it up in my map but it never steals any points.
I didn't actually set it up yet, but do you have all the triggers? I noticed that Asteroid had about four, including a new one.
 

YM

LVL100 YM
aa
Dec 5, 2007
7,135
6,056
Just want to point out TC is totally workable now. With the trigger_player_respawn_override and a team filter you can put one around a point and allow the team that's sucessfully pushing through to respawn faster than the team that's turtling around their own point.
Die by your own point -> long respawn, die by the other team's point -> instant spawn.

Put in a little setup time to avoid scout insta caps and allow engies to set up a little and now you totally have a 2CP environment that will swing towards the better team.

--

It has other uses too. Want RED to respawn quickly after an A/D point is capped? Put a big brush around the whole stage and only activate it for 5 seconds after the cap is won, any straggling red players killed in those 5 seconds will respawn quickly along with those who died before the cap.

Want to encourage players trying to cap? Put one on the capture point area so any player killed while trying to cap gets their respawn time slashed.
 
Last edited:

A Boojum Snark

Toraipoddodezain Mazahabado
aa
Nov 2, 2007
4,775
7,669
Want to encourage players trying to cap? Put one on the capture point area so any player killed while trying to cap gets their respawn time slashed.
All the other ideas sound great, but do you have a way to communicate this to the player? I don't see it working if people don't know.
 

henke37

aa
Sep 23, 2011
2,075
515
Anyone care to guess what Valve intends with the unused robot model? It has a wheel at the bottom, making it look intended to move more than the used bots. It could be tied to the unused paths between the robot zones.
 

YM

LVL100 YM
aa
Dec 5, 2007
7,135
6,056
All the other ideas sound great, but do you have a way to communicate this to the player? I don't see it working if people don't know.

Players don't need to know. The players with the "PILE ON THE POINT" mentality get shorter times than those with "oh I guess the point is an objective, but I'll just try and kill that soldier" mentality
 

Geit

💜 I probably broke it 💜
aa
May 28, 2009
598
1,161
Boojum, what keys are there for item_bonuspack?


Code:
CBonusPack - item_bonuspack
- m_bDisabled (Save|Key)(1 Bytes) - StartDisabled
- m_iszModel (Save|Key)(4 Bytes) - powerup_model
- m_bAutoMaterialize (Save|Key)(1 Bytes) - AutoMaterialize
- m_OnPlayerTouch (Save|Key|Output)(0 Bytes) - OnPlayerTouch
- m_OnCacheInteraction (Save|Key|Output)(0 Bytes) - OnCacheInteraction
- m_nSkin (Save|Key|Input)(4 Bytes) - skin
- m_nBody (Save|Key)(4 Bytes) - body
- m_nBody (Save|Key|Input)(4 Bytes) - SetBodyGroup
- m_nHitboxSet (Save|Key)(4 Bytes) - hitboxset
- m_nSequence (Save|Key)(4 Bytes) - sequence
- m_flPoseParameter (Save)(96 Bytes)
- m_flEncodedController (Save)(16 Bytes)
- m_flPlaybackRate (Save|Key)(4 Bytes) - playbackrate
- m_flCycle (Save|Key)(4 Bytes) - cycle
- m_iszLightingOriginRelative (Save|Key)(4 Bytes) - LightingOriginHack
- m_iszLightingOrigin (Save|Key)(4 Bytes) - LightingOrigin
- InputIgnite (Input)(0 Bytes) - Ignite
- InputIgniteLifetime (Input)(0 Bytes) - IgniteLifetime
- InputIgniteNumHitboxFires (Input)(0 Bytes) - IgniteNumHitboxFires
- InputIgniteHitboxFireScale (Input)(0 Bytes) - IgniteHitboxFireScale
- InputBecomeRagdoll (Input)(0 Bytes) - BecomeRagdoll
- InputSetLightingOriginRelative (Input)(0 Bytes) - SetLightingOriginHack
- InputSetLightingOrigin (Input)(0 Bytes) - SetLightingOrigin
- m_OnIgnite (Save|Key|Output)(0 Bytes) - OnIgnite
- m_fadeMinDist (Save|Key|Input)(4 Bytes) - fademindist
- m_fadeMaxDist (Save|Key|Input)(4 Bytes) - fademaxdist
- m_flFadeScale (Save|Key)(4 Bytes) - fadescale
- m_flModelScale (Save|Key)(4 Bytes) - modelscale
- InputSetModelScale (Input)(0 Bytes) - SetModelScale
- m_iClassname (Save|Key)(4 Bytes) - classname
- m_iGlobalname (Global|Save|Key)(4 Bytes) - globalname
- m_iParent (Save|Key)(4 Bytes) - parentname
- m_iHammerID (Save|Key)(4 Bytes) - hammerid
- m_flSpeed (Save|Key)(4 Bytes) - speed
- m_nRenderFX (Save|Key)(1 Bytes) - renderfx
- m_nRenderMode (Save|Key)(1 Bytes) - rendermode
- m_nNextThinkTick (Save|Key)(4 Bytes) - nextthink
- m_fEffects (Save|Key)(4 Bytes) - effects
- m_clrRender (Save|Key)(4 Bytes) - rendercolor
- m_nModelIndex (Global|Save|Key)(2 Bytes) - modelindex
- m_iszResponseContext (Save|Key)(4 Bytes) - ResponseContext
- m_iMaxHealth (Save|Key)(4 Bytes) - max_health
- m_iHealth (Save|Key)(4 Bytes) - health
- m_target (Save|Key)(4 Bytes) - target
- m_iszDamageFilterName (Save|Key)(4 Bytes) - damagefilter
- m_flShadowCastDistance (Save|Key)(4 Bytes) - shadowcastdist
- m_iInitialTeamNum (Save|Key|Input)(4 Bytes) - TeamNum
- m_ModelName (Global|Save|Key)(4 Bytes) - model
- m_vecBaseVelocity (Save|Key)(12 Bytes) - basevelocity
- m_vecAngVelocity (Save|Key)(12 Bytes) - avelocity
- m_nWaterLevel (Save|Key)(1 Bytes) - waterlevel
- m_flGravity (Save|Key)(4 Bytes) - gravity
- m_flFriction (Save|Key)(4 Bytes) - friction
- m_flLocalTime (Save|Key)(4 Bytes) - ltime
- m_vecVelocity (Save|Key)(12 Bytes) - velocity
- m_iTextureFrameIndex (Save|Key)(1 Bytes) - texframeindex
- m_spawnflags (Save|Key)(4 Bytes) - spawnflags
- m_vecViewOffset (Save|Key)(12 Bytes) - view_ofs
- InputSetTeam (Input)(0 Bytes) - SetTeam
- InputKill (Input)(0 Bytes) - Kill
- InputKillHierarchy (Input)(0 Bytes) - KillHierarchy
- InputUse (Input)(0 Bytes) - Use
- InputAlpha (Input)(0 Bytes) - Alpha
- InputAlternativeSorting (Input)(0 Bytes) - AlternativeSorting
- InputColor (Input)(0 Bytes) - Color
- InputSetParent (Input)(0 Bytes) - SetParent
- InputSetParentAttachment (Input)(0 Bytes) - SetParentAttachment
- InputSetParentAttachmentMaintainOffset (Input)(0 Bytes) - SetParentAttachmentMaintainOffset
- InputClearParent (Input)(0 Bytes) - ClearParent
- InputSetDamageFilter (Input)(0 Bytes) - SetDamageFilter
- InputEnableDamageForces (Input)(0 Bytes) - EnableDamageForces
- InputDisableDamageForces (Input)(0 Bytes) - DisableDamageForces
- InputDispatchEffect (Input)(0 Bytes) - DispatchEffect
- InputDispatchResponse (Input)(0 Bytes) - DispatchResponse
- InputAddContext (Input)(0 Bytes) - AddContext
- InputRemoveContext (Input)(0 Bytes) - RemoveContext
- InputClearContext (Input)(0 Bytes) - ClearContext
- InputDisableShadow (Input)(0 Bytes) - DisableShadow
- InputEnableShadow (Input)(0 Bytes) - EnableShadow
- InputAddOutput (Input)(0 Bytes) - AddOutput
- InputFireUser1 (Input)(0 Bytes) - FireUser1
- InputFireUser2 (Input)(0 Bytes) - FireUser2
- InputFireUser3 (Input)(0 Bytes) - FireUser3
- InputFireUser4 (Input)(0 Bytes) - FireUser4
- m_OnUser1 (Save|Key|Output)(0 Bytes) - OnUser1
- m_OnUser2 (Save|Key|Output)(0 Bytes) - OnUser2
- m_OnUser3 (Save|Key|Output)(0 Bytes) - OnUser3
- m_OnUser4 (Save|Key|Output)(0 Bytes) - OnUser4
 

henke37

aa
Sep 23, 2011
2,075
515
Think you could put that on the developer wiki?