X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fmapobjects%2Ffunc%2Fvectormamamam.qc;h=53226a3c628cf2ef9c1679589fbd627e77add0a0;hb=b12384978a6b1ad4ca08c8a35f8a197a36ec5e05;hp=61da52acbc483daef7c55c1e9d136000d7ace990;hpb=7e5268799e95d0dd6f2b77ed4e097b0adc755f2b;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/mapobjects/func/vectormamamam.qc b/qcsrc/common/mapobjects/func/vectormamamam.qc index 61da52acb..53226a3c6 100644 --- a/qcsrc/common/mapobjects/func/vectormamamam.qc +++ b/qcsrc/common/mapobjects/func/vectormamamam.qc @@ -8,18 +8,16 @@ vector func_vectormamamam_origin(entity o, float timestep) { - vector v, p; - float flags; + vector p; entity e; - - flags = o.spawnflags; - v = '0 0 0'; + int myflags = o.spawnflags; + vector v = '0 0 0'; e = o.wp00; if(e) { p = e.origin + timestep * e.velocity; - if(flags & PROJECT_ON_TARGETNORMAL) + if(myflags & PROJECT_ON_TARGETNORMAL) v = v + (p * o.targetnormal) * o.targetnormal * o.targetfactor; else v = v + (p - (p * o.targetnormal) * o.targetnormal) * o.targetfactor; @@ -29,7 +27,7 @@ vector func_vectormamamam_origin(entity o, float timestep) if(e) { p = e.origin + timestep * e.velocity; - if(flags & PROJECT_ON_TARGET2NORMAL) + if(myflags & PROJECT_ON_TARGET2NORMAL) v = v + (p * o.target2normal) * o.target2normal * o.target2factor; else v = v + (p - (p * o.target2normal) * o.target2normal) * o.target2factor; @@ -39,7 +37,7 @@ vector func_vectormamamam_origin(entity o, float timestep) if(e) { p = e.origin + timestep * e.velocity; - if(flags & PROJECT_ON_TARGET3NORMAL) + if(myflags & PROJECT_ON_TARGET3NORMAL) v = v + (p * o.target3normal) * o.target3normal * o.target3factor; else v = v + (p - (p * o.target3normal) * o.target3normal) * o.target3factor; @@ -49,7 +47,7 @@ vector func_vectormamamam_origin(entity o, float timestep) if(e) { p = e.origin + timestep * e.velocity; - if(flags & PROJECT_ON_TARGET4NORMAL) + if(myflags & PROJECT_ON_TARGET4NORMAL) v = v + (p * o.target4normal) * o.target4normal * o.target4factor; else v = v + (p - (p * o.target4normal) * o.target4normal) * o.target4factor; @@ -60,7 +58,7 @@ vector func_vectormamamam_origin(entity o, float timestep) void func_vectormamamam_controller_think(entity this) { - this.nextthink = time + vectormamamam_timestep; + this.nextthink = time + VECTORMAMAMAM_TIMESTEP; if(this.owner.active != ACTIVE_ACTIVE) { @@ -69,21 +67,21 @@ void func_vectormamamam_controller_think(entity this) } if(this.owner.classname == "func_vectormamamam") // don't brake stuff if the func_vectormamamam was killtarget'ed - this.owner.velocity = (this.owner.destvec + func_vectormamamam_origin(this.owner, vectormamamam_timestep) - this.owner.origin) * 10; + this.owner.velocity = (this.owner.destvec + func_vectormamamam_origin(this.owner, VECTORMAMAMAM_TIMESTEP) - this.owner.origin) * 10; } void func_vectormamamam_findtarget(entity this) { - if(this.target != "") + if(this.target && this.target != "") this.wp00 = find(NULL, targetname, this.target); - if(this.target2 != "") + if(this.target2 && this.target2 != "") this.wp01 = find(NULL, targetname, this.target2); - if(this.target3 != "") + if(this.target3 && this.target3 != "") this.wp02 = find(NULL, targetname, this.target3); - if(this.target4 != "") + if(this.target4 && this.target4 != "") this.wp03 = find(NULL, targetname, this.target4); if(!this.wp00 && !this.wp01 && !this.wp02 && !this.wp03) @@ -91,8 +89,7 @@ void func_vectormamamam_findtarget(entity this) this.destvec = this.origin - func_vectormamamam_origin(this, 0); - entity controller; - controller = new(func_vectormamamam_controller); + entity controller = new_pure(func_vectormamamam_controller); controller.owner = this; controller.nextthink = time + 1; setthink(controller, func_vectormamamam_controller_think); @@ -128,7 +125,7 @@ void func_vectormamamam_init_for_player(entity this, entity player) if (this.noise && this.noise != "" && this.active == ACTIVE_ACTIVE && IS_REAL_CLIENT(player)) { msg_entity = player; - soundto(MSG_ONE, this, CH_TRIGGER_SINGLE, this.noise, VOL_BASE, ATTEN_IDLE); + soundto(MSG_ONE, this, CH_TRIGGER_SINGLE, this.noise, VOL_BASE, ATTEN_IDLE, 0); } } @@ -164,9 +161,9 @@ spawnfunc(func_vectormamamam) this.target4normal = normalize(this.target4normal); setblocked(this, generic_plat_blocked); - if(this.dmg && (this.message == "")) + if(this.dmg && (!this.message || this.message == "")) this.message = " was squished"; - if(this.dmg && (this.message == "")) + if(this.dmg && (!this.message2 || this.message2 == "")) this.message2 = "was squished by"; if(this.dmg && (!this.dmgtime)) this.dmgtime = 0.25;