- Joined
- Jul 7, 2011
- Messages
- 504
- Reaction score
- 109
I'm currently merging the Half-Life FGD from J.A.C.K. with the FGDs from MS:C. I've encountered a few entities that obviously aren't necessary:
...but there are a few others I have my doubts about. Here's what I think:
==== ==== ==== ==== ==== ==== ==== ====
Looking at the relay entities, I see that mstrig_relay has no 'killtarget' (part of BaseClass Targetx), 'master' and 'scriptevent' keys, which makes it vastly less useful than trigger_relay.
vs.
Can I omit mstrig_relay or am I missing something?
==== ==== ==== ==== ==== ==== ==== ====
As for the NPC controllers:
vs.
Seems like mstrig_act has marginally more functionality than ms_npcscript, but I doubt these two still get used to begin with.
==== ==== ==== ==== ==== ==== ==== ====
Something else I've been wondering:
Why wasn't game_counter used instead?
If it were to support 'scriptname', 'scriptevent', 'reqhp' and such, it'd be even more useful than ms_counter. The 'master' key for ms_counter is commented out in the FGD (I vaguely recall it not working) and in addition, game_counter can be altered by game_counter_set.
==== ==== ==== ==== ==== ==== ==== ====
Another question: Is mstrig_stopspawn still used? I can only assume this comes from a time before it was possible to just remove spawn areas (without the infamous 'gibbing' issue) by means of killtarget.
- mstrig_multi is made obsolete by multi_manager
- mstrig_push is made obsolete by trigger_push
...but there are a few others I have my doubts about. Here's what I think:
- mstrig_relay is made obsolete by trigger_relay
- ms_npcscript is made obsolete by mstrig_act
==== ==== ==== ==== ==== ==== ==== ====
Looking at the relay entities, I see that mstrig_relay has no 'killtarget' (part of BaseClass Targetx), 'master' and 'scriptevent' keys, which makes it vastly less useful than trigger_relay.
Code:
@PointClass base(Targetname,mstarget) = mstrig_relay : "Trigger Relay"
[
spawnflags(flags) =
[
1: "Remove On fire" : 0
]
triggerstate(choices) : "Trigger State" : 0 =
[
0: "Off"
1: "On"
2: "Toggle"
]
random(string) : "Fire Chance (%)" : "100"
delay(string) : "Delay before trigger" : "0"
]
Code:
@PointClass base(Targetname, Targetx) = trigger_relay : "Trigger Relay"
[
scriptevent(string): "Scripted Event"
spawnflags(flags) =
[
1: "Remove On fire" : 1
]
triggerstate(choices) : "Trigger State" : 0 =
[
0: "Off"
1: "On"
2: "Toggle"
]
random(string) : "Fire Chance (%)" : "100"
master(string) : "Master"
]
==== ==== ==== ==== ==== ==== ==== ====
As for the NPC controllers:
Code:
@PointClass base(Targetname) = ms_npcscript : "NPC Script"
[
target(string) : "Monster Name"
type(choices) : "Type" : 0 =
[
0 : "Move"
1 : "Play Anim"
2 : "Run Script Event"
3 : "Move, then Play Anim"
4 : "Move, then Run Script Event"
]
moveanim(string) : "Move Anim"
actionanim(string) : "Action Anim"
eventname(string) : "Script Event"
firewhendone(string) : "Fire, when finished"
firedelay(string) : "Fire Delay" : "0"
stopai(choices) : "Disable Monster AI" : 0 =
[
0 : "No"
1 : "Yes"
]
]
Code:
@PointClass base(Targetname) = mstrig_act : "NPC Action"
[
target(string) : "Monster Name"
type(choices) : "Type" : 0 =
[
0 : "Move"
1 : "Play Anim"
2 : "Run Script Event"
3 : "Move, then Play Anim"
4 : "Move, then Run Script Event"
]
moveanim(string) : "Move Anim"
actionanim(string) : "Action Anim"
eventname(string) : "Script Event"
firewhendone(string) : "Fire, when finished"
firedelay(string) : "Fire when finished Delay" : "0"
fireonbreak(string) : "Fire, if AI interrupts me"
stopai(choices) : "Disable Monster AI" : 1 =
[
0 : "No"
1 : "Yes"
]
]
==== ==== ==== ==== ==== ==== ==== ====
Something else I've been wondering:
Code:
// = JAN2010
// - Point class version of trigger_counter (ms_counter)
Code:
@PointClass base(Targetname, Targetx) = game_counter : "Fires when it hits limit"
[
spawnflags(flags) =
[
1: "Remove On fire" : 0
2: "Reset On fire" : 1
]
master(string) : "Master"
frags(integer) : "Initial Value" : 0
health(integer) : "Limit Value" : 10
]
==== ==== ==== ==== ==== ==== ==== ====
Another question: Is mstrig_stopspawn still used? I can only assume this comes from a time before it was possible to just remove spawn areas (without the infamous 'gibbing' issue) by means of killtarget.