Move all decore_ entities into entityDef. Fix a few monster mistakes within their entityDef and add the various alliances.

This commit is contained in:
Marco Cawthorne 2023-10-04 07:58:02 -07:00
parent 5cb23a8527
commit 205e8055e0
Signed by: eukara
GPG Key ID: CE2032F0A2882A22
149 changed files with 1261 additions and 1351 deletions

View File

@ -0,0 +1,32 @@
class
button_aiwallplug:NSRenderableEntity
{
public:
void button_aiwallplug(void);
virtual void Precache(void);
virtual void Respawn(void);
};
void
button_aiwallplug::button_aiwallplug(void)
{
}
void
button_aiwallplug::Precache(void)
{
precache_model("models/aiwallplug.mdl");
}
void
button_aiwallplug::Respawn(void)
{
SetSolid(SOLID_BBOX);
SetMovetype(MOVETYPE_NONE);
SetModel("models/aiwallplug.mdl");
SetSize([-32,-32,0], [32,32,48]);
SetOrigin(GetSpawnOrigin());
SetAngles(GetSpawnAngles());
}

View File

@ -1,28 +1,116 @@
/*
* Copyright (c) 2019-2023 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
class
RWDecore:NSSurfacePropEntity
{
bool m_bDropToFloor;
public:
void(void) RWDecore;
virtual void SpawnKey(string, string);
virtual void(void) Respawn;
virtual void StartTouch(entity);
private:
bool m_bDropToFloor;
vector m_vecSpawnMins;
vector m_vecSpawnMaxs;
bool m_bIsSolid;
int m_iDamage;
float m_flDamageTime;
float m_flDamageTest;
int m_iSpawnFrame;
};
void
RWDecore::RWDecore(void)
{
m_bDropToFloor = false;
m_vecSpawnMins = g_vec_null;
m_vecSpawnMaxs = g_vec_null;
m_bIsSolid = false;
m_iDamage = 0i;
m_flDamageTime = 0.0;
m_flDamageTest = 0.0f;
m_iSpawnFrame = 0i;
}
void
RWDecore::SpawnKey(string strKey, string strValue)
{
switch (strKey) {
case "mins":
m_vecSpawnMins = ReadVector(strValue);
break;
case "maxs":
m_vecSpawnMaxs = ReadVector(strValue);
break;
case "droptofloor":
m_bDropToFloor = ReadBool(strValue);
break;
case "solid":
m_bIsSolid = ReadBool(strValue);
break;
case "damage":
m_iDamage = ReadInt(strValue);
break;
case "dmgtime":
m_flDamageTime = ReadFloat(strValue);
break;
case "rotate":
avelocity[0] = random(-32, 32);
avelocity[1] = random(-32, 32);
avelocity[2] = random(-32, 32);
movetype = MOVETYPE_NOCLIP;
break;
case "frame":
m_iSpawnFrame = ReadInt(strValue);
break;
default:
super::SpawnKey(strKey, strValue);
break;
}
}
void
RWDecore::Respawn(void)
{
vector newmins = mins;
vector newmaxs = maxs;
if (m_bIsSolid == true)
SetSolid(SOLID_BBOX);
else
SetSolid(SOLID_NOT);
SetOrigin(GetSpawnOrigin());
SetModel(GetSpawnModel());
SetSize(newmins, newmaxs);
SetSize(m_vecSpawnMins, m_vecSpawnMaxs);
SetFrame(m_iSpawnFrame);
if (m_bDropToFloor == true)
DropToFloor();
}
void
RWDecore::RWDecore(void)
RWDecore::StartTouch(entity touchingEntity)
{
if (m_flDamageTest > time)
return;
if (touchingEntity.takedamage == DAMAGE_NO)
return;
Damage_Apply(touchingEntity, this, m_iDamage, WEAPON_NONE, 0);
m_flDamageTest = time + m_flDamageTime;
}

View File

@ -1,52 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_asteroid (0 0.8 0.8) (-16 -16 0) (16 16 40)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/rockspin.mdl"
*/
class decore_asteroid:RWDecore
{
void(void) decore_asteroid;
virtual void(string, string) SpawnKey;
};
void
decore_asteroid::SpawnKey(string strKey, string strValue)
{
switch (strKey) {
case "asteroidsize":
SetBody(stoi(strValue) + 1);
break;
default:
super::SpawnKey(strKey, strValue);
}
}
void
decore_asteroid::decore_asteroid(void)
{
model = "models/rockspin.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 40];
}

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_baboon (0 0.8 0.8) (-16 -16 0) (16 16 16)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/baboon.mdl"
*/
class decore_baboon:RWDecore
{
void(void) decore_baboon;
};
void
decore_baboon::decore_baboon(void)
{
model = "models/baboon.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 16];
}

View File

@ -1,39 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_bodygib (0 0.8 0.8) (-16 -16 0) (16 16 40)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/bodygib.mdl"
*/
class decore_bodygib:RWDecore
{
void(void) decore_bodygib;
};
void
decore_bodygib::decore_bodygib(void)
{
model = "models/bodygib.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 40];
m_bDropToFloor = true;
}

View File

@ -1,67 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_cactus (0 0.8 0.8) (-16 -16 0) (16 16 64)
This is a decorative entity from Gunman Chronicles.
It will hurt the player whenever it gets touched.
The damage is 1 health point per second.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/cactus.mdl"
*/
class decore_cactus:RWDecore
{
float m_flDmgTest;
void(void) decore_cactus;
virtual void(void) Respawn;
virtual void(entity) StartTouch;
};
void
decore_cactus::StartTouch(entity eToucher)
{
if (m_flDmgTest > time)
return;
if (eToucher.takedamage == DAMAGE_NO)
return;
NSSurfacePropEntity t = (NSSurfacePropEntity)eToucher;
Damage_Apply(eToucher, this, 1, WEAPON_NONE, 0);
m_flDmgTest = time + 1.0f;
}
void
decore_cactus::Respawn(void)
{
super::Respawn();
SetSolid(SOLID_BBOX);
}
void
decore_cactus::decore_cactus(void)
{
model = "models/cactus.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 64];
m_bDropToFloor = true;
}

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_cam (0 0.8 0.8) (-16 -16 0) (16 16 16)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/camera.mdl"
*/
class decore_cam:RWDecore
{
void(void) decore_cam;
};
void
decore_cam::decore_cam(void)
{
model = "models/camera.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 16];
}

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_camflare (0 0.8 0.8) (-16 -16 0) (16 16 72)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/cameracone.mdl"
*/
class decore_camflare:RWDecore
{
void(void) decore_camflare;
};
void
decore_camflare::decore_camflare(void)
{
model = "models/cameracone.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 72];
}

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_eagle (0 0.8 0.8) (-32 -32 -16) (32 32 16)
This is a decorative monster entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/eagle.mdl"
*/
class decore_eagle:NSMonster
{
void(void) decore_eagle;
};
void
decore_eagle::decore_eagle(void)
{
model = "models/eagle.mdl";
mins = [-32, -32, 16];
maxs = [32, 32, 16];
}

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_explodable (0 0.8 0.8) (-16 -16 0) (16 16 72)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/dropship.mdl"
*/
class decore_explodable:RWDecore
{
void(void) decore_explodable;
};
void
decore_explodable::decore_explodable(void)
{
model = "models/dropship.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 72];
}

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_foot (0 0.8 0.8) (-16 -16 0) (16 16 72)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/renesaurfoot.mdl"
*/
class decore_foot:RWDecore
{
void(void) decore_foot;
};
void
decore_foot::decore_foot(void)
{
model = "models/renesaurfoot.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 72];
}

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_goldskull (0 0.8 0.8) (-10 -10 -12) (10 10 12)
This is a decorative monster entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/goldskull.mdl"
*/
class decore_goldskull:NSMonster
{
void(void) decore_goldskull;
};
void
decore_goldskull::decore_goldskull(void)
{
model = "models/goldskull.mdl";
mins = [-10, -10, -12];
maxs = [10, 10, 12];
}

View File

@ -1,39 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_gutspile (0 0.8 0.8) (-16 -16 0) (16 16 40)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/gutspile.mdl"
*/
class decore_gutspile:RWDecore
{
void(void) decore_gutspile;
};
void
decore_gutspile::decore_gutspile(void)
{
model = "models/gutspile.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 40];
m_bDropToFloor = true;
}

View File

@ -1,39 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_hatgib (0 0.8 0.8) (-16 -16 0) (16 16 40)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/hatgib.mdl"
*/
class decore_hatgib:RWDecore
{
void(void) decore_hatgib;
};
void
decore_hatgib::decore_hatgib(void)
{
model = "models/hatgib.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 40];
m_bDropToFloor = true;
}

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_ice (0 0.8 0.8) (-16 -16 0) (16 16 40)
This is a decorative monster entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/ice.mdl"
*/
class decore_ice:NSMonster
{
void(void) decore_ice;
};
void
decore_ice::decore_ice(void)
{
model = "models/ice.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 40];
}

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_icebeak (0 0.8 0.8) (-16 -16 0) (16 16 72)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/icebeak.mdl"
*/
class decore_icebeak:RWDecore
{
void(void) decore_icebeak;
};
void
decore_icebeak::decore_icebeak(void)
{
model = "models/icebeak.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 72];
}

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_labstuff (0 0.8 0.8) (-16 -16 0) (16 16 64)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/swampstuff.mdl"
*/
class decore_labstuff:RWDecore
{
void(void) decore_labstuff;
};
void
decore_labstuff::decore_labstuff(void)
{
model = "models/labstuff.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 64];
}

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_mushroom (0 0.8 0.8) (-16 -16 0) (16 16 16)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/mushroom.mdl"
*/
class decore_mushroom:RWDecore
{
void(void) decore_mushroom;
};
void
decore_mushroom::decore_mushroom(void)
{
model = "models/mushroom.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 16];
}

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_mushroom2 (0 0.8 0.8) (-16 -16 0) (16 16 16)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/mushroom2.mdl"
*/
class decore_mushroom2:RWDecore
{
void(void) decore_mushroom2;
};
void
decore_mushroom2::decore_mushroom2(void)
{
model = "models/mushroom2.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 16];
}

View File

@ -1,39 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_nest (0 0.8 0.8) (-32 -32 0) (32 32 16)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/ornest.mdl"
*/
class decore_nest:RWDecore
{
void(void) decore_nest;
};
void
decore_nest::decore_nest(void)
{
model = "models/ornest.mdl";
m_bDropToFloor = true;
mins = [-32, -32, 0];
maxs = [32, 32, 16];
}

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_pipes (0 0.8 0.8) (-16 -16 -16) (16 16 0)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/pipes.mdl"
*/
class decore_pipes:RWDecore
{
void(void) decore_pipes;
};
void
decore_pipes::decore_pipes(void)
{
model = "models/pipes.mdl";
mins = [-16, -16, -16];
maxs = [16, 16, 0];
}

View File

@ -1,39 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_prickle (0 0.8 0.8) (-8 -8 0) (8 8 8)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/prickle.mdl"
*/
class decore_prickle:RWDecore
{
void(void) decore_prickle;
};
void
decore_prickle::decore_prickle(void)
{
model = "models/prickle.mdl";
mins = [-8, -8, 0];
maxs = [8, 8, 8];
m_bDropToFloor = true;
}

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_pteradon (0 0.8 0.8) (-32 -32 -16) (32 32 16)
This is a decorative monster entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/pteradon2.mdl"
*/
class decore_pteradon:NSMonster
{
void(void) decore_pteradon;
};
void
decore_pteradon::decore_pteradon(void)
{
model = "models/pteradon2.mdl";
mins = [-32, -32, -16];
maxs = [32, 32, 16];
}

View File

@ -1,46 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_sack (0 0.8 0.8) (-16 -16 0) (16 16 64)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/sack.mdl"
*/
class decore_sack:RWDecore
{
void(void) decore_sack;
virtual void(void) Respawn;
};
void
decore_sack::Respawn(void)
{
super::Respawn();
SetMovetype(MOVETYPE_NONE);
}
void
decore_sack::decore_sack(void)
{
model = "models/sack.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 64];
}

View File

@ -1,39 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_sittingtubemortar (0 0.8 0.8) (-32 -32 0) (32 32 64)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/tubemortar.mdl"
*/
class decore_sittingtubemortar:RWDecore
{
void(void) decore_sittingtubemortar;
};
void
decore_sittingtubemortar::decore_sittingtubemortar(void)
{
model = "models/tubemortar.mdl";
mins = [-32, -32, 0];
maxs = [32, 32, 64];
m_bDropToFloor = true;
}

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_swampplants (0 0.8 0.8) (-16 -16 0) (16 16 64)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/swampstuff.mdl"
*/
class decore_swampplants:RWDecore
{
void(void) decore_swampplants;
};
void
decore_swampplants::decore_swampplants(void)
{
model = "models/swampstuff.mdl";
mins = [-16, -16, 0];
maxs = [16, 16, 64];
}

View File

@ -1,53 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_torch (0 0.8 0.8) (-8 -8 -8) (8 8 16)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="models/torch.mdl"
*/
class decore_torch:RWDecore
{
decore_torchflame flame;
void(void) decore_torch;
virtual void(void) Spawned;
};
void
decore_torch::Spawned(void)
{
super::Spawned();
if (!flame)
flame = spawn(decore_torchflame);
flame.origin = flame.m_oldOrigin = origin + [0,0,32];
}
void
decore_torch::decore_torch(void)
{
model = "models/torch.mdl";
mins = [-8, -8, 0];
maxs = [8, 8, 16];
}

View File

@ -1,64 +0,0 @@
/*
* Copyright (c) 2016-2022 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED decore_torchflame (0 0.8 0.8) (-4 -4 -8) (4 4 16)
This is a decorative entity from Gunman Chronicles.
-------- KEYS --------
"targetname" : Name
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
model="sprites/flames.spr"
*/
class decore_torchflame:RWDecore
{
void(void) decore_torchflame;
virtual void(void) Respawn;
virtual void(void) UpdateFrame;
};
void
decore_torchflame:: UpdateFrame(void)
{
frame++;
if (frame > 22)
frame = 0;
nextthink = time + 0.1f;
}
void
decore_torchflame::Respawn(void)
{
super::Respawn();
SetRenderMode(RM_ADDITIVE);
SetRenderColor([1,1,1]);
SetRenderAmt(1.0f);
think = UpdateFrame;
nextthink = time + 0.1f;
}
void
decore_torchflame::decore_torchflame(void)
{
model = "sprites/flames.spr";
mins = [-4, -4, -8];
maxs = [4, 4, 16];
}

View File

@ -14,28 +14,39 @@
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*QUAKED entity_spritegod (0 0.8 0.8) (-16 -16 -16) (16 16 16)
/*!QUAKED entity_spritegod (0 0.8 0.8) (-16 -16 -16) (16 16 16)
# OVERVIEW
Master entity for emitting a series of sprites.
-------- KEYS --------
# KEYS
"targetname" : Name
"spritename" : Sprite model to emit
"spritenoise" : Unknown.
"spritestartstate" : Whether to start off (0) or on (1)
"spritecount" : How many sprites to emit per interval
"spritefreq" : Emitting frequency, defaults to 5.
"spritex" : Direction on the X-Axis (?)
"spritey" : Direction on the Y-Axis (?)
"spritez" : Direction on the Z-Axis (?)
"targetent" : Target entity, maybe used for setting the direction alternatively (?)
"spritecount" : How many sprites to emit per interval
"spritefreq" : Emitting frequency, defaults to 5.
"spritex" : Direction on the X-Axis (?)
"spritey" : Direction on the Y-Axis (?)
"spritez" : Direction on the Z-Axis (?)
"targetent" : Target entity, maybe used for setting the direction alternatively (?)
-------- TRIVIA --------
# TRIVIA
This entity was introduced in Gunman Chronicles (2000).
*/
class
entity_spritegod:NSPointTrigger
{
public:
void(void) entity_spritegod;
virtual void(string, string) SpawnKey;
virtual void(void) Spawned;
virtual void(void) Respawn;
virtual void(entity, triggermode_t) Trigger;
virtual void(void) StartTimer;
virtual void(void) EmitSprite;
private:
string m_strSprite;
int m_iNoise;
float m_flSpeed;
@ -44,82 +55,19 @@ entity_spritegod:NSPointTrigger
float m_iFrequency;
vector m_vecDirection;
string m_strTargetEnt;
void(void) entity_spritegod;
virtual void(string, string) SpawnKey;
virtual void(void) Respawn;
virtual void(void) EmitSprite;
virtual void(entity, triggermode_t) Trigger;
virtual void(void) StartTimer;
virtual void(void) Spawned;
};
void
entity_spritegod::StartTimer(void)
entity_spritegod::entity_spritegod(void)
{
nextthink = time + (m_iFrequency / 100);
}
void
entity_spritegod::Trigger(entity eAct, triggermode_t iState)
{
switch (iState) {
case TRIG_OFF:
m_iValue = 0;
break;
case TRIG_ON:
m_iValue = 1;
break;
case TRIG_TOGGLE:
m_iValue = 1 - m_iValue;
break;
}
if (m_iValue)
StartTimer();
}
void
entity_spritegod:: EmitSprite(void)
{
for (int i = 0; i < m_iCount; i++) {
env_sprite new = spawn(env_sprite);
new.SetOrigin(GetOrigin());
new.SetModel(m_strSprite);
new.SetMovetype(MOVETYPE_NOCLIP);
/* I have no idea what I'm doing, seems to be an offset? wtf? */
makevectors(vectoangles(origin - (origin + m_vecDirection)));
new.SetVelocity(v_forward * m_flSpeed);
new.think = Util_Destroy;
new.nextthink = time + 1.0f;
}
if (m_iValue)
StartTimer();
}
void
entity_spritegod::Respawn(void)
{
SetSize([0,0,0], [0,0,0]);
SetOrigin(GetSpawnOrigin());
think = EmitSprite;
if (m_bState == true)
m_iValue = 1;
if (m_iValue)
StartTimer();
}
void
entity_spritegod::Spawned(void)
{
super::Spawned();
precache_model(m_strSprite);
m_strSprite = __NULL__;
m_iNoise = 50;
m_flSpeed = 100;
m_bState = true;
m_iCount = 1;
m_iFrequency = 5;
m_vecDirection = [0,0,0];
m_strTargetEnt = __NULL__;
}
void
@ -162,14 +110,67 @@ entity_spritegod::SpawnKey(string strKey, string strValue)
}
void
entity_spritegod::entity_spritegod(void)
entity_spritegod::Spawned(void)
{
m_strSprite = __NULL__;
m_iNoise = 50;
m_flSpeed = 100;
m_bState = true;
m_iCount = 1;
m_iFrequency = 5;
m_vecDirection = [0,0,0];
m_strTargetEnt = __NULL__;
super::Spawned();
precache_model(m_strSprite);
}
void
entity_spritegod::Respawn(void)
{
SetSize([0,0,0], [0,0,0]);
SetOrigin(GetSpawnOrigin());
SetThink(EmitSprite);
if (m_bState == true)
m_iValue = 1;
if (m_iValue)
StartTimer();
}
void
entity_spritegod::Trigger(entity eAct, triggermode_t iState)
{
switch (iState) {
case TRIG_OFF:
m_iValue = 0;
break;
case TRIG_ON:
m_iValue = 1;
break;
case TRIG_TOGGLE:
m_iValue = 1 - m_iValue;
break;
}
if (m_iValue)
StartTimer();
}
void
entity_spritegod::StartTimer(void)
{
SetNextThink(m_iFrequency / 100);
}
void
entity_spritegod::EmitSprite(void)
{
for (int i = 0; i < m_iCount; i++) {
env_sprite new = spawn(env_sprite);
new.SetOrigin(GetOrigin());
new.SetModel(m_strSprite);
new.SetMovetype(MOVETYPE_NOCLIP);
/* I have no idea what I'm doing, seems to be an offset? wtf? */
makevectors(vectoangles(origin - (origin + m_vecDirection)));
new.SetVelocity(v_forward * m_flSpeed);
new.ScheduleThink(Destroy, 1.0);
}
if (m_iValue)
StartTimer();
}

View File

@ -58,6 +58,36 @@ HLGameRules::LevelDecodeParms(NSClientPlayer pp)
pl.rpg_mag = parm29;
pl.satchel_chg = parm30;*/
pl.ammo_battery = parm12; /* beamgun */
pl.ammo_chem = parm13; /* chemicalgun */
pl.ammo_rocket = parm14; /* dml / grenades */
pl.ammo_gauss = parm15; /* gauspistol */
pl.ammo_minigun = parm16; /* minigun */
pl.ammo_buckshot = parm17; /* shotgun */
pl.fist_mode = parm18; /* knife/fists */
pl.gauss_mode = parm19;
pl.shotgun_shells = parm20;
pl.shotgun_spread = parm21;
pl.dml_launch = parm22; /* when fired, when targeted */
pl.dml_flightpath = parm23; /* guided, homing, spiral */
pl.dml_detonate = parm24; /* on impact, in proximity, timed, when tripped */
pl.dml_payload = parm25; /* explosive, cluster */
pl.chem_acid = parm26;
pl.chem_neutral = parm27;
pl.chem_base = parm28;
pl.chem_pressure = parm29;
pl.beam_range = parm30; /* TOUCH TAZER, SHORT TAZER, MEDIUM BEAM, LONG BEAM */
pl.beam_poweracc = parm31; /* LOW HIGHEST, MEDIUM HIGH, HIGH MEDIUM, HIGHEST LOW */
pl.beam_lightning = parm32; /* BEAM, CHAIN, BALL */
pl.gren_detonate = parm33; /* when tripped (tripmine = parm24;, timed, on impact */
pl.gren_payload = parm34; /* cluster, explosive */
pl.menu_active = parm35;
pl.dml_state = parm36;
if (pl.flags & FL_CROUCHING) {
setsize(pl, VEC_CHULL_MIN, VEC_CHULL_MAX);
} else {
@ -81,25 +111,36 @@ HLGameRules::LevelChangeParms(NSClientPlayer pp)
parm64 = pl.flags;
parm10 = pl.g_items;
parm11 = pl.activeweapon;
/*parm12 = pl.ammo_9mm;
parm13 = pl.ammo_357;
parm14 = pl.ammo_buckshot;
parm15 = pl.ammo_m203_grenade;
parm16 = pl.ammo_bolt;
parm17 = pl.ammo_rocket;
parm18 = pl.ammo_uranium;
parm19 = pl.ammo_handgrenade;
parm20 = pl.ammo_satchel;
parm21 = pl.ammo_tripmine;
parm22 = pl.ammo_snark;
parm23 = pl.ammo_hornet;
parm24 = pl.glock_mag;
parm25 = pl.mp5_mag;
parm26 = pl.python_mag;
parm27 = pl.shotgun_mag;
parm28 = pl.crossbow_mag;
parm29 = pl.rpg_mag;
parm30 = pl.satchel_chg;*/
parm12 = pl.ammo_battery; /* beamgun */
parm13 = pl.ammo_chem; /* chemicalgun */
parm14 = pl.ammo_rocket; /* dml / grenades */
parm15 = pl.ammo_gauss; /* gauspistol */
parm16 = pl.ammo_minigun; /* minigun */
parm17 = pl.ammo_buckshot; /* shotgun */
parm18 = pl.fist_mode; /* knife/fists */
parm19 = pl.gauss_mode;
parm20 = pl.shotgun_shells;
parm21 = pl.shotgun_spread;
parm22 = pl.dml_launch; /* when fired, when targeted */
parm23 = pl.dml_flightpath; /* guided, homing, spiral */
parm24 = pl.dml_detonate; /* on impact, in proximity, timed, when tripped */
parm25 = pl.dml_payload; /* explosive, cluster */
parm26 = pl.chem_acid;
parm27 = pl.chem_neutral;
parm28 = pl.chem_base;
parm29 = pl.chem_pressure;
parm30 = pl.beam_range; /* TOUCH TAZER, SHORT TAZER, MEDIUM BEAM, LONG BEAM */
parm31 = pl.beam_poweracc; /* LOW HIGHEST, MEDIUM HIGH, HIGH MEDIUM, HIGHEST LOW */
parm32 = pl.beam_lightning; /* BEAM, CHAIN, BALL */
parm33 = pl.gren_detonate; /* when tripped (tripmine;, timed, on impact */
parm34 = pl.gren_payload; /* cluster, explosive */
parm35 = pl.menu_active;
parm36 = pl.dml_state;
}
void

View File

@ -23,36 +23,11 @@ gunman_cycler.qc
hologram_damage.qc
decore.qc
decore_asteroid.qc
decore_baboon.qc
decore_bodygib.qc
decore_cactus.qc
decore_cam.qc
decore_camflare.qc
decore_eagle.qc
decore_explodable.qc
decore_foot.qc
decore_goldskull.qc
decore_gutspile.qc
decore_hatgib.qc
decore_ice.qc
decore_icebeak.qc
decore_labstuff.qc
decore_mushroom.qc
decore_mushroom2.qc
decore_nest.qc
decore_pipes.qc
decore_prickle.qc
decore_pteradon.qc
decore_sittingtubemortar.qc
decore_sack.qc
decore_swampplants.qc
decore_torchflame.qc
decore_torch.qc
entity_spritegod.qc
sphere_explosion.qc
player_giveitems.qc
button_aiwallplug.qc
../../../valve/src/server/player.qc
@ -64,6 +39,7 @@ gamerules.qc
gamerules_singleplayer.qc
gamerules_multiplayer.qc
../../../valve/src/server/server.qc
../../../valve/src/server/damage.qc
../../../valve/src/server/flashlight.qc

View File

@ -80,6 +80,8 @@ class player:NSClientPlayer
#ifdef SERVER
virtual void(void) EvaluateEntity;
virtual float(entity, float) SendEntity;
virtual void Save(float);
virtual void Restore(string,string);
#endif
};
@ -362,6 +364,154 @@ player::PredictPostFrame(void)
}
#else
void
player::Save(float handle)
{
super::Save(handle);
SaveInt(handle, "anim_top", anim_top);
SaveFloat(handle, "anim_top_time", anim_top_time);
SaveFloat(handle, "anim_top_delay", anim_top_delay);
SaveInt(handle, "anim_bottom", anim_bottom);
SaveFloat(handle, "anim_bottom_time", anim_bottom_time);
SaveInt(handle, "ammo_battery", ammo_battery); /* beamgun */
SaveInt(handle, "ammo_chem", ammo_chem); /* chemicalgun */
SaveInt(handle, "ammo_rocket", ammo_rocket); /* dml / grenades */
SaveInt(handle, "ammo_gauss", ammo_gauss); /* gauspistol */
SaveInt(handle, "ammo_minigun", ammo_minigun); /* minigun */
SaveInt(handle, "ammo_buckshot", ammo_buckshot); /* shotgun */
SaveInt(handle, "fist_mode", fist_mode); /* knife/fists */
SaveInt(handle, "gauss_mode", gauss_mode);
SaveInt(handle, "shotgun_shells", shotgun_shells);
SaveInt(handle, "shotgun_spread", shotgun_spread);
SaveInt(handle, "dml_launch", dml_launch); /* when fired, when targeted */
SaveInt(handle, "dml_flightpath", dml_flightpath); /* guided, homing, spiral */
SaveInt(handle, "dml_detonate", dml_detonate); /* on impact, in proximity, timed, when tripped */
SaveInt(handle, "dml_payload", dml_payload); /* explosive, cluster */
SaveInt(handle, "chem_acid", chem_acid);
SaveInt(handle, "chem_neutral", chem_neutral);
SaveInt(handle, "chem_base", chem_base);
SaveInt(handle, "chem_pressure", chem_pressure);
SaveInt(handle, "beam_range", beam_range); /* TOUCH TAZER, SHORT TAZER, MEDIUM BEAM, LONG BEAM */
SaveInt(handle, "beam_poweracc", beam_poweracc); /* LOW HIGHEST, MEDIUM HIGH, HIGH MEDIUM, HIGHEST LOW */
SaveInt(handle, "beam_lightning", beam_lightning); /* BEAM, CHAIN, BALL */
SaveInt(handle, "gren_detonate", gren_detonate); /* when tripped (tripmine);, timed, on impact */
SaveInt(handle, "gren_payload", gren_payload); /* cluster, explosive */
SaveInt(handle, "menu_active", menu_active);
SaveInt(handle, "dml_state", dml_state);
}
void
player::Restore(string strKey, string strValue)
{
switch (strKey) {
case "anim_top":
anim_top = ReadInt(strValue);
break;
case "anim_top_time":
anim_top_time = ReadFloat(strValue);
break;
case "anim_top_delay":
anim_top_delay = ReadFloat(strValue);
break;
case "anim_bottom":
anim_bottom = ReadInt(strValue);
break;
case "anim_bottom_time":
anim_bottom_time = ReadFloat(strValue);
break;
/* AMMO 1 */
case "ammo_battery":
ammo_battery = ReadInt(strValue); /* beamgun */
break;
case "ammo_chem":
ammo_chem = ReadInt(strValue); /* chemicalgun */
break;
case "ammo_rocket":
ammo_rocket = ReadInt(strValue); /* dml / grenades */
break;
case "ammo_gauss":
ammo_gauss = ReadInt(strValue); /* gauspistol */
break;
case "ammo_minigun":
ammo_minigun = ReadInt(strValue); /* minigun */
break;
case "ammo_buckshot":
ammo_buckshot = ReadInt(strValue); /* shotgun */
break;
case "fist_mode":
fist_mode = ReadInt(strValue); /* knife/fists */
break;
case "gauss_mode":
gauss_mode = ReadInt(strValue);
break;
case "shotgun_shells":
shotgun_shells = ReadInt(strValue);
break;
case "shotgun_spread":
shotgun_spread = ReadInt(strValue);
break;
case "dml_launch":
dml_launch = ReadInt(strValue); /* when fired, when targeted */
break;
case "dml_flightpath":
dml_flightpath = ReadInt(strValue); /* guided, homing, spiral */
break;
case "dml_detonate":
dml_detonate = ReadInt(strValue); /* on impact, in proximity, timed, when tripped */
break;
case "dml_payload":
dml_payload = ReadInt(strValue); /* explosive, cluster */
break;
case "chem_acid":
chem_acid = ReadInt(strValue);
break;
case "chem_neutral":
chem_neutral = ReadInt(strValue);
break;
case "chem_base":
chem_base = ReadInt(strValue);
break;
case "chem_pressure":
chem_pressure = ReadInt(strValue);
break;
case "beam_range":
beam_range = ReadInt(strValue); /* TOUCH TAZER, SHORT TAZER, MEDIUM BEAM, LONG BEAM */
break;
case "beam_poweracc":
beam_poweracc = ReadInt(strValue); /* LOW HIGHEST, MEDIUM HIGH, HIGH MEDIUM, HIGHEST LOW */
break;
case "beam_lightning":
beam_lightning = ReadInt(strValue); /* BEAM, CHAIN, BALL */
break;
case "gren_detonate":
gren_detonate = ReadInt(strValue); /* when tripped (tripmine = ReadInt(strValue);, timed, on impact */
break;
case "gren_payload":
gren_payload = ReadInt(strValue); /* cluster, explosive */
break;
case "menu_active":
menu_active = ReadInt(strValue);
break;
case "dml_state":
dml_state = ReadInt(strValue);
break;
default:
super::Restore(strKey, strValue);
}
}
void
player::EvaluateEntity(void)
{

View File

@ -44,10 +44,22 @@ w_aicore_primary(player pl)
}
src = Weapons_GetCameraPos(pl);
makevectors(pl.v_angle);
#ifdef CLIENT
//Weapons_ViewAnimation(pl, GP_FIRESINGLE);
traceline(src, src + v_forward * 96, MOVE_NORMAL, pl);
if (trace_fraction < 1.0f) {
if (trace_ent.classname == "button_aiwallplug") {
#ifdef SERVER
NSEntity wallPlug = (NSEntity)trace_ent;
wallPlug.Trigger(pl, TRIG_TOGGLE);
#endif
Weapons_ViewAnimation(pl, AIC_PLUGIN);
pl.w_attack_next = 5.0;
pl.w_idle_next = 10.0f;
return;
}
}
pl.w_attack_next = 0.15f;
pl.w_idle_next = 2.5f;
@ -142,12 +154,3 @@ weapon_t w_aicore =
.type = gunman_wpntype_close,
.hudpic = w_aicore_hudpic
};
/* entity definitions for pickups */
#ifdef SERVER
void
weapon_aicore(void)
{
Weapons_InitItem(WEAPON_AICORE);
}
#endif

View File

@ -274,15 +274,6 @@ weapon_t w_beamgun =
.hudpic = w_beamgun_hudpic
};
/* entity definitions for pickups */
#ifdef SERVER
void
weapon_beamgun(void)
{
Weapons_InitItem(WEAPON_BEAMGUN);
}
#endif
#ifdef CLIENT
int
w_beamgun_hudforward(player pl)

View File

@ -375,15 +375,6 @@ weapon_t w_chemicalgun =
.hudpic = w_chemicalgun_hudpic
};
/* entity definitions for pickups */
#ifdef SERVER
void
weapon_SPchemicalgun(void)
{
Weapons_InitItem(WEAPON_CHEMICALGUN);
}
#endif
#ifdef CLIENT
int
w_chemgun_hudforward(player pl)

View File

@ -425,15 +425,6 @@ weapon_t w_dml =
.hudpic = w_dml_hudpic
};
/* entity definitions for pickups */
#ifdef SERVER
void
weapon_dml(void)
{
Weapons_InitItem(WEAPON_DML);
}
#endif
#ifdef CLIENT
int
w_dml_hudforward(player pl)

View File

@ -315,13 +315,4 @@ weapon_t w_fists =
.aimanim = w_fists_aimanim,
.type = gunman_wpntype_close,
.hudpic = w_fists_hudpic
};
/* entity definitions for pickups */
#ifdef SERVER
void
weapon_fists(void)
{
Weapons_InitItem(WEAPON_FISTS);
}
#endif
};

View File

@ -439,15 +439,6 @@ weapon_t w_gausspistol =
.hudpic = w_gausspistol_hudpic
};
/* entity definitions for pickups */
#ifdef SERVER
void
weapon_gausspistol(void)
{
Weapons_InitItem(WEAPON_GAUSSPISTOL);
}
#endif
#ifdef CLIENT
int
w_gausspistol_hudforward(player pl)

View File

@ -238,15 +238,6 @@ weapon_t w_grenade =
.hudpic = w_grenade_hudpic
};
/* entity definitions for pickups */
#ifdef SERVER
void
weapon_grenade(void)
{
Weapons_InitItem(WEAPON_GRENADE);
}
#endif
#ifdef CLIENT
int
w_grenade_hudforward(player pl)

View File

@ -267,12 +267,3 @@ weapon_t w_minigun =
.type = gunman_wpntype_ranged,
.hudpic = w_minigun_hudpic
};
/* entity definitions for pickups */
#ifdef SERVER
void
weapon_minigun(void)
{
Weapons_InitItem(WEAPON_MINIGUN);
}
#endif

View File

@ -340,15 +340,6 @@ weapon_t w_shotgun =
.hudpic = w_shotgun_hudpic
};
/* entity definitions for pickups */
#ifdef SERVER
void
weapon_shotgun(void)
{
Weapons_InitItem(WEAPON_SHOTGUN);
}
#endif
#ifdef CLIENT
int
w_shotgun_hudforward(player pl)

View File

@ -0,0 +1,7 @@
include "ammo/beamgunclip.def"
include "ammo/buckshot.def"
include "ammo/dmlclip.def"
include "ammo/dmlsingle.def"
include "ammo/gaussclip.def"
include "ammo/minigunclip.def"
include "ammo/chemical.def"

View File

@ -0,0 +1,14 @@
entityDef ammo_beamgunclip
{
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "AI Core"
"editor_rotatable" "1"
"spawnclass" "NSItem"
"model" "models/beamgunammo.mdl"
"inv_item" "$WEAPON_AICORE"
"snd_acquire" "weapon.pickup"
"snd_respawn" "item.respawn"
}

View File

@ -0,0 +1,14 @@
entityDef ammo_buckshot
{
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "AI Core"
"editor_rotatable" "1"
"spawnclass" "NSItem"
"model" "models/shotgunammo.mdl"
"inv_item" "$WEAPON_AICORE"
"snd_acquire" "weapon.pickup"
"snd_respawn" "item.respawn"
}

View File

@ -0,0 +1,14 @@
entityDef ammo_chemical
{
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "AI Core"
"editor_rotatable" "1"
"spawnclass" "NSItem"
"model" "models/chem_ammo.mdl"
"inv_item" "$WEAPON_AICORE"
"snd_acquire" "weapon.pickup"
"snd_respawn" "item.respawn"
}

View File

@ -0,0 +1,14 @@
entityDef ammo_dmlclip
{
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "AI Core"
"editor_rotatable" "1"
"spawnclass" "NSItem"
"model" "models/dmlammo.mdl"
"inv_item" "$WEAPON_AICORE"
"snd_acquire" "weapon.pickup"
"snd_respawn" "item.respawn"
}

View File

@ -0,0 +1,14 @@
entityDef ammo_dmlsingle
{
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "AI Core"
"editor_rotatable" "1"
"spawnclass" "NSItem"
"model" "models/dmlrocket.mdl"
"inv_item" "$WEAPON_AICORE"
"snd_acquire" "weapon.pickup"
"snd_respawn" "item.respawn"
}

View File

@ -0,0 +1,14 @@
entityDef ammo_gaussclip
{
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "AI Core"
"editor_rotatable" "1"
"spawnclass" "NSItem"
"model" "models/guassammo.mdl"
"inv_item" "$WEAPON_AICORE"
"snd_acquire" "weapon.pickup"
"snd_respawn" "item.respawn"
}

View File

@ -0,0 +1,19 @@
entityDef ammo_minigunClip
{
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "AI Core"
"editor_rotatable" "1"
"spawnclass" "NSItem"
"model" "models/mechammo.mdl"
"inv_item" "$WEAPON_AICORE"
"snd_acquire" "weapon.pickup"
"snd_respawn" "item.respawn"
}
entityDef ammo_mechgunClip
{
"spawnclass" "ammo_minigunClip"
}

View File

@ -0,0 +1,31 @@
include "decore/aicore.def"
include "decore/bodygib.def"
include "decore/butterflyflock.def"
include "decore/foot.def"
include "decore/cam.def"
include "decore/camflare.def"
include "decore/corpse.def"
include "decore/eagle.def"
include "decore/goldskull.def"
include "decore/gutspile.def"
include "decore/hatgib.def"
include "decore/ice.def"
include "decore/icebeak.def"
include "decore/labstuff.def"
include "decore/mushroom.def"
include "decore/mushroom2.def"
include "decore/nest.def"
include "decore/pipes.def"
include "decore/prickle.def"
include "decore/pteradon.def"
include "decore/sack.def"
include "decore/scripted_boulder.def"
include "decore/sittingtubemortar.def"
include "decore/spacedebris.def"
include "decore/swampplants.def"
include "decore/torch.def"
include "decore/torchflame.def"
include "decore/baboon.def"
include "decore/asteroid.def"
include "decore/cactus.def"
include "decore/explodable.def"

View File

@ -0,0 +1,9 @@
entityDef decore_aicore
{
"spawnclass" "RWDecore"
"model" "models/w_aicore.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 40"
"rotate" "1"
}

View File

@ -0,0 +1,18 @@
entityDef decore_asteroid
{
"spawnclass" "RWDecore"
"model" "models/rockspin.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 40"
"rotate" "1"
when "asteroidsize" equals "1"
{
"body" "2"
}
when "asteroidsize" equals "2"
{
"body" "3"
}
}

View File

@ -0,0 +1,7 @@
entityDef decore_baboon
{
"spawnclass" "cycler_sprite"
"model" "models/baboon.mdl"
"mins" "-16 -16 -32"
"maxs" "16 16 16"
}

View File

@ -0,0 +1,8 @@
entityDef decore_bodygib
{
"spawnclass" "RWDecore"
"model" "models/bodygib.mdl"
"mins" "-32 -32 0"
"maxs" "32 32 12"
"droptofloor" "1"
}

View File

@ -0,0 +1,7 @@
entityDef decore_butterflyflock
{
"spawnclass" "RWDecore"
"model" "models/butterfly.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 16"
}

View File

@ -0,0 +1,11 @@
entityDef decore_cactus
{
"spawnclass" "RWDecore"
"model" "models/cactus.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 80"
"droptofloor" "1"
"solid" "1"
"damage" "1"
"dmgtime" "1"
}

View File

@ -0,0 +1,7 @@
entityDef decore_cam
{
"spawnclass" "RWDecore"
"model" "models/camera.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 16"
}

View File

@ -0,0 +1,7 @@
entityDef decore_camflare
{
"spawnclass" "RWDecore"
"model" "models/cameracone.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 72"
}

View File

@ -0,0 +1,7 @@
entityDef decore_corpse
{
"spawnclass" "RWDecore"
"model" "models/error.vvm"
"mins" "-16 -16 0"
"maxs" "16 16 16"
}

View File

@ -0,0 +1,7 @@
entityDef decore_eagle
{
"spawnclass" "RWDecore"
"model" "models/eagle.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 32"
}

View File

@ -0,0 +1,7 @@
entityDef decore_explodable
{
"spawnclass" "RWDecore"
"model" "models/dropship.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 72"
}

View File

@ -0,0 +1,7 @@
entityDef decore_foot
{
"spawnclass" "RWDecore"
"model" "models/renesaurfoot.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 72"
}

View File

@ -0,0 +1,7 @@
entityDef decore_goldskull
{
"spawnclass" "RWDecore"
"model" "models/goldskull.mdl"
"mins" "-10 -10 0"
"maxs" "10 10 24"
}

View File

@ -0,0 +1,8 @@
entityDef decore_gutspile
{
"spawnclass" "RWDecore"
"model" "models/gutspile.mdl"
"mins" "-32 -32 0"
"maxs" "32 32 32"
"droptofloor" "1"
}

View File

@ -0,0 +1,8 @@
entityDef decore_hatgib
{
"spawnclass" "RWDecore"
"model" "models/hatgib.mdl"
"mins" "-10 -10 0"
"maxs" "10 10 12"
"droptofloor" "1"
}

View File

@ -0,0 +1,10 @@
entityDef decore_ice
{
"spawnclass" "RWDecore"
"model" "models/ice.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 64"
"droptofloor" "1"
"solid" "1"
"rendermode" "$RM_ADDITIVE"
}

View File

@ -0,0 +1,9 @@
entityDef decore_icebeak
{
"spawnclass" "RWDecore"
"model" "models/icebeak.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 40"
"droptofloor" "1"
"solid" "1"
}

View File

@ -0,0 +1,7 @@
entityDef decore_labstuff
{
"spawnclass" "RWDecore"
"model" "models/labstuff.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 40"
}

View File

@ -0,0 +1,8 @@
entityDef decore_mushroom
{
"spawnclass" "RWDecore"
"model" "models/mushroom.mdl"
"mins" "-16 -16 -16"
"maxs" "16 16 16"
"solid" "1"
}

View File

@ -0,0 +1,8 @@
entityDef decore_mushroom2
{
"spawnclass" "RWDecore"
"model" "models/mushroom2.mdl"
"mins" "-8 -8 -16"
"maxs" "8 8 16"
"solid" "1"
}

View File

@ -0,0 +1,8 @@
entityDef decore_nest
{
"spawnclass" "RWDecore"
"model" "models/ornest.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 16"
"droptofloor" "1"
}

View File

@ -0,0 +1,8 @@
entityDef decore_pipes
{
"spawnclass" "RWDecore"
"model" "models/pipes.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 16"
"solid" "1"
}

View File

@ -0,0 +1,8 @@
entityDef decore_prickle
{
"spawnclass" "RWDecore"
"model" "models/prickle.mdl"
"mins" "-8 -8 0"
"maxs" "8 8 8"
"droptofloor" "1"
}

View File

@ -0,0 +1,7 @@
entityDef decore_pteradon
{
"spawnclass" "RWDecore"
"model" "models/pteradon2.mdl"
"mins" "-32 -32 -16"
"maxs" "32 32 16"
}

View File

@ -0,0 +1,7 @@
entityDef decore_sack
{
"spawnclass" "RWDecore"
"model" "models/sack.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 64"
}

View File

@ -0,0 +1,8 @@
entityDef decore_scripted_boulder
{
"spawnclass" "RWDecore"
"model" "models/boulder.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 16"
"solid" "1"
}

View File

@ -0,0 +1,10 @@
entityDef decore_sittingtubemortar
{
"spawnclass" "RWDecore"
"model" "models/tubemortar.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 48"
"droptofloor" "1"
"solid" "1"
"frame" "1"
}

View File

@ -0,0 +1,8 @@
entityDef decore_spacedebris
{
"spawnclass" "RWDecore"
"model" "models/spacedebris.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 16"
"solid" "1"
}

View File

@ -0,0 +1,7 @@
entityDef decore_swampplants
{
"spawnclass" "RWDecore"
"model" "models/swampstuff.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 48"
}

View File

@ -0,0 +1,7 @@
entityDef decore_torch
{
"spawnclass" "RWDecore"
"model" "models/torch.mdl"
"mins" "-8 -8 -8"
"maxs" "8 8 16"
}

View File

@ -0,0 +1,12 @@
entityDef decore_torchflame
{
"spawnclass" "env_sprite"
"model" "sprites/flames.spr"
"mins" "-4 -4 -8"
"maxs" "4 4 16"
"maxframe" "22"
"framerate" "10"
"rendermode" "$RM_ADDITIVE"
"rendercolor" "255 255 255"
"renderamt" "255"
}

View File

@ -0,0 +1,3 @@
include "items/armor.def"
include "items/gascan.def"
include "items/healthkit.def"

View File

@ -0,0 +1,14 @@
entityDef item_armor
{
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "AI Core"
"editor_rotatable" "1"
"spawnclass" "NSItem"
"model" "models/w_armor.mdl"
"inv_item" "$WEAPON_AICORE"
"snd_acquire" "weapon.pickup"
"snd_respawn" "item.respawn"
}

View File

@ -0,0 +1,14 @@
entityDef item_gascan
{
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "AI Core"
"editor_rotatable" "1"
"spawnclass" "NSItem"
"model" "models/gastank.mdl"
"inv_item" "$WEAPON_AICORE"
"snd_acquire" "weapon.pickup"
"snd_respawn" "item.respawn"
}

View File

@ -0,0 +1,14 @@
entityDef item_healthkit
{
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "AI Core"
"editor_rotatable" "1"
"spawnclass" "NSItem"
"model" "models/w_medkit.mdl"
"inv_item" "$WEAPON_AICORE"
"snd_acquire" "weapon.pickup"
"snd_respawn" "item.respawn"
}

View File

@ -1,3 +1,4 @@
include "monsters/beak.def"
include "monsters/cricket.def"
include "monsters/critter.def"
include "monsters/darttrap.def"
@ -11,7 +12,6 @@ include "monsters/human_bandit.def"
include "monsters/human_chopper.def"
include "monsters/human_demoman.def"
include "monsters/human_gunman.def"
include "monsters/human_scientist.def"
include "monsters/human_unarmed.def"
include "monsters/largescorpion.def"
include "monsters/manta.def"

View File

@ -0,0 +1,16 @@
entityDef monster_beak
{
"spawnclass" "NSMonster"
"model" "models/beak.mdl"
"netname" "Beak"
"health" "skill:beak_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "0"
"propdata" "actor_alien"
"team" "$ALLIANCE_ALIEN"
"speed_walk" "50"
"speed_run" "200"
}

View File

@ -9,7 +9,7 @@ entityDef monster_cricket
"eye_height" "64"
"team" "0"
"propdata" "actor_alien"
"speed_walk" "50"
"team" "$ALLIANCE_NEUTRAL"
"speed_walk" "50"
"speed_run" "200"
}

View File

@ -9,6 +9,7 @@ entityDef monster_critter
"eye_height" "64"
"team" "0"
"propdata" "actor_alien"
"team" "$ALLIANCE_NEUTRAL"
"speed_walk" "50"
"speed_run" "200"

View File

@ -1,7 +1,7 @@
entityDef monster_darttrap
{
"spawnclass" "NSMonster"
"model" "models/null.mdl"
"spawnclass" "NSMonster"
"model" "models/monika.mdl"
"netname" "Dart Trap"
"health" "skill:darttrap_health"
"mins" "-16 -16 0"
@ -9,6 +9,7 @@ entityDef monster_darttrap
"eye_height" "64"
"team" "0"
"propdata" "actor_robot"
"team" "ALLIANCE_ENEMY"
"speed_walk" "50"
"speed_run" "200"

View File

@ -9,6 +9,7 @@ entityDef monster_dragonfly
"eye_height" "64"
"team" "0"
"propdata" "actor_alien"
"team" "ALLIANCE_NEUTRAL"
"speed_walk" "50"
"speed_run" "200"

View File

@ -9,6 +9,7 @@ entityDef monster_endboss
"eye_height" "64"
"team" "0"
"propdata" "actor_robot"
"team" "$ALLIANCE_BANDITS"
"speed_walk" "50"
"speed_run" "200"

View File

@ -1,15 +1,16 @@
entityDef monster_gator
{
"spawnclass" "NSMonster"
"model" "models/gator.mdl"
"netname" "Gator"
"health" "skill:gator_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"model" "models/gator.mdl"
"netname" "Gator"
"health" "skill:gator_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "1"
"propdata" "actor_human"
"team" "1"
"propdata" "actor_human"
"team" "$ALLIANCE_REPTILES"
"speed_walk" "50"
"speed_run" "200"
"speed_run" "200"
}

View File

@ -1,15 +1,16 @@
entityDef monster_gunner_friendly
{
"spawnclass" "NSTalkMonster"
"model" "models/aigunner.mdl"
"netname" "Gunner Friendly"
"health" "skill:gunner_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"model" "models/aigunner.mdl"
"netname" "Gunner Friendly"
"health" "skill:gunner_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "0"
"propdata" "actor_robot"
"team" "0"
"propdata" "actor_robot"
"team" "$ALLIANCE_FRIENDLY"
"speed_walk" "50"
"speed_run" "200"
"speed_run" "200"
}

View File

@ -9,6 +9,7 @@ entityDef monster_hatchetfish
"eye_height" "64"
"team" "0"
"propdata" "actor_alien"
"team" "$ALLIANCE_NEUTRAL"
"speed_walk" "50"
"speed_run" "200"

View File

@ -9,6 +9,7 @@ entityDef monster_hiveback
"eye_height" "64"
"team" "0"
"propdata" "actor_alien"
"team" "$ALLIANCE_ALIEN"
"speed_walk" "50"
"speed_run" "200"

View File

@ -9,6 +9,7 @@ entityDef monster_human_bandit
"eye_height" "64"
"team" "0"
"propdata" "actor_human"
"team" "$ALLIANCE_BANDITS"
"speed_walk" "50"
"speed_run" "200"

View File

@ -9,6 +9,7 @@ entityDef monster_human_chopper
"eye_height" "64"
"team" "0"
"propdata" "actor_robot"
"team" "$ALLIANCE_BANDITS"
"speed_walk" "50"
"speed_run" "200"

View File

@ -9,6 +9,7 @@ entityDef monster_human_demoman
"eye_height" "64"
"team" "0"
"propdata" "actor_human"
"team" "$ALLIANCE_BANDITS"
"speed_walk" "50"
"speed_run" "200"

View File

@ -9,6 +9,7 @@ entityDef monster_human_gunman
"eye_height" "64"
"team" "0"
"propdata" "actor_human"
"team" "$ALLIANCE_FRIENDLY"
"speed_walk" "50"
"speed_run" "200"

Some files were not shown because too many files have changed in this diff Show More