X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fturrets%2Fturret%2Fwalker.qc;h=0a82a4a7bcef08cd1db7c03cdbcc925ca6c0474f;hp=ff2ce88c7d8b8cd19553707e4c3d56333276bac8;hb=905ec2fbd2b610eeb2591cdddbf71ce24b7bb3ab;hpb=5c9dd3786d57cbbbca67043ba8076548c1d486ef diff --git a/qcsrc/common/turrets/turret/walker.qc b/qcsrc/common/turrets/turret/walker.qc index ff2ce88c7..0a82a4a7b 100644 --- a/qcsrc/common/turrets/turret/walker.qc +++ b/qcsrc/common/turrets/turret/walker.qc @@ -1,24 +1,4 @@ -#ifndef TURRET_WALKER_H -#define TURRET_WALKER_H - -//#define WALKER_FANCYPATHING - -#include "walker_weapon.qh" - -CLASS(WalkerTurret, Turret) -/* spawnflags */ ATTRIB(WalkerTurret, spawnflags, int, TUR_FLAG_PLAYER | TUR_FLAG_MOVE); -/* mins */ ATTRIB(WalkerTurret, mins, vector, '-70 -70 0'); -/* maxs */ ATTRIB(WalkerTurret, maxs, vector, '70 70 95'); -/* modelname */ ATTRIB(WalkerTurret, mdl, string, "walker_body.md3"); -/* model */ ATTRIB_STRZONE(WalkerTurret, model, string, strcat("models/turrets/", this.mdl)); -/* head_model */ ATTRIB_STRZONE(WalkerTurret, head_model, string, strcat("models/turrets/", "walker_head_minigun.md3")); -/* netname */ ATTRIB(WalkerTurret, netname, string, "walker"); -/* fullname */ ATTRIB(WalkerTurret, turret_name, string, _("Walker Turret")); - ATTRIB(WalkerTurret, m_weapon, Weapon, WEP_WALKER); -ENDCLASS(WalkerTurret) -REGISTER_TURRET(WALKER, NEW(WalkerTurret)); - -#endif +#include "walker.qh" #ifdef IMPLEMENTATION @@ -261,6 +241,7 @@ void walker_fire_rocket(entity this, vector org) settouch(rocket, walker_rocket_touch); rocket.flags = FL_PROJECTILE; IL_PUSH(g_projectiles, rocket); + IL_PUSH(g_bot_dodge, rocket); rocket.solid = SOLID_BBOX; rocket.max_health = time + 9; rocket.missile_flags = MIF_SPLASH | MIF_PROXY | MIF_GUIDED_HEAT; @@ -588,6 +569,8 @@ METHOD(WalkerTurret, tr_setup, void(WalkerTurret this, entity it)) it.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_LOS; it.iscreature = true; it.teleportable = TELEPORT_NORMAL; + if(!it.damagedbycontents) + IL_PUSH(g_damagedbycontents, it); it.damagedbycontents = true; it.solid = SOLID_SLIDEBOX; it.takedamage = DAMAGE_AIM; @@ -608,12 +591,12 @@ METHOD(WalkerTurret, tr_setup, void(WalkerTurret this, entity it)) e = find(NULL, targetname, it.target); if (!e) { - LOG_TRACE("Initital waypoint for walker does NOT exsist, fix your map!\n"); + LOG_TRACE("Initital waypoint for walker does NOT exsist, fix your map!"); it.target = ""; } if (e.classname != "turret_checkpoint") - LOG_TRACE("Warning: not a turrret path\n"); + LOG_TRACE("Warning: not a turrret path"); else { #ifdef WALKER_FANCYPATHING