-Sat Jul 24 07:23:46 CEST 2021
+Mon Aug 9 07:23:33 CEST 2021
# Antonio 'terencehill' Piu <piuntn@gmail.com>, 2011-2012
# Costa <yesbubu@hotmail.it>, 2014,2021
# Felice Sallustio <fel.sallustio@gmail.com>, 2011
+# Jessica Amoruso <jessica.amoruso123@gmail.com>, 2021
# Mirio <opivy@hotmail.de>, 2017
# Antonio <piuntn@gmail.com>, 2013
msgid ""
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-06-27 07:23+0200\n"
-"PO-Revision-Date: 2021-06-27 05:24+0000\n"
-"Last-Translator: Antonio <piuntn@gmail.com>\n"
+"PO-Revision-Date: 2021-08-09 00:33+0000\n"
+"Last-Translator: Jessica Amoruso <jessica.amoruso123@gmail.com>\n"
"Language-Team: Italian (http://www.transifex.com/team-xonotic/xonotic/"
"language/it/)\n"
"Language: it\n"
#: qcsrc/menu/xonotic/credits.qc:227
msgid "Japanese"
-msgstr ""
+msgstr "Giapponese"
#: qcsrc/menu/xonotic/credits.qc:230
msgid "Kazakh"
# NotThatPrivate Yes <henriqueferreira2009@gmail.com>, 2015
# Ricardo Manuel da Cruz Coelho da Silva <ricardo.mccs@gmail.com>, 2015
# Rui <xymarior@yandex.com>, 2018
+# zerowhy . <anymailz@tutanota.com>, 2021
msgid ""
msgstr ""
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-06-27 07:23+0200\n"
-"PO-Revision-Date: 2021-07-20 03:10+0000\n"
-"Last-Translator: Jean Trindade Pereira <jean_trindade2@hotmail.com>\n"
+"PO-Revision-Date: 2021-08-01 04:05+0000\n"
+"Last-Translator: zerowhy . <anymailz@tutanota.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/team-xonotic/"
"xonotic/language/pt_BR/)\n"
"Language: pt_BR\n"
#: qcsrc/common/mutators/mutator/buffs/all.inc:83
msgid "Disabled"
-msgstr ""
+msgstr "Desabilitado"
#: qcsrc/common/mutators/mutator/buffs/all.inc:94
msgid "Vengeance"
set g_freezetag_warmup 10 "time players get to run around before the round starts"
set g_freezetag_point_limit -1 "Freeze Tag point limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
set g_freezetag_point_leadlimit -1 "Freeze Tag point lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
-set g_freezetag_revive_speed 0.4 "Speed for reviving a frozen teammate"
+set g_freezetag_revive_speed 0.4 "Speed for reviving a frozen teammate if g_freezetag_revive_time_to_score is off"
set g_freezetag_revive_speed_t2s 0.25 "Speed for reviving a frozen teammate if g_freezetag_revive_time_to_score is active"
set g_freezetag_revive_clearspeed 1.6 "Speed at which reviving progress gets lost when out of range (if g_freezetag_revive_time_to_score is active reviving progress is not cleared)"
set g_freezetag_revive_extra_size 100 "Distance in qu that you can stand from a frozen teammate to keep reviving him"
#include "superweapons.qh"
+#ifdef SVQC
+METHOD(Superweapons, m_persistent, bool(StatusEffects this, entity actor))
+{
+ return (actor.items & IT_UNLIMITED_SUPERWEAPONS);
+}
+#endif
+
#ifdef CSQC
METHOD(Superweapons, m_active, bool(StatusEffects this, entity actor))
{
METHOD(StatusEffects, m_remove, void(StatusEffects this, entity actor, int removal_type))
{
- if(!actor.statuseffects)
+ StatusEffects data = actor.statuseffects;
+ if(!data)
return;
- if(removal_type == STATUSEFFECT_REMOVE_NORMAL && this.m_active(this, actor))
+ // NOTE: persistent effects do not make a sound on removal, this is intended as a workaround for #2620
+ if(removal_type == STATUSEFFECT_REMOVE_NORMAL && !(data.statuseffect_flags[this.m_id] & STATUSEFFECT_FLAG_PERSISTENT) && this.m_active(this, actor))
sound(actor, CH_TRIGGER, this.m_sound_rm, VOL_BASE, ATTEN_NORM);
- actor.statuseffects.statuseffect_time[this.m_id] = 0;
- actor.statuseffects.statuseffect_flags[this.m_id] = 0;
+ data.statuseffect_time[this.m_id] = 0;
+ data.statuseffect_flags[this.m_id] = 0;
StatusEffects_update(actor);
}
if(!this && !oth)
return;
+ // due to a lack of pointers in QC, we must save the trace values and restore them for other functions
+ bool save_trace_allsolid = trace_allsolid;
+ bool save_trace_startsolid = trace_startsolid;
+ float save_trace_fraction = trace_fraction;
+ bool save_trace_inwater = trace_inwater;
+ bool save_trace_inopen = trace_inopen;
+ vector save_trace_endpos = trace_endpos;
+ vector save_trace_plane_normal = trace_plane_normal;
+ float save_trace_plane_dist = trace_plane_dist;
+ entity save_trace_ent = trace_ent;
+ int save_trace_dpstartcontents = trace_dpstartcontents;
+ int save_trace_dphitcontents = trace_dphitcontents;
+ int save_trace_dphitq3surfaceflags = trace_dphitq3surfaceflags;
+ string save_trace_dphittexturename = trace_dphittexturename;
+
if(this.solid != SOLID_NOT && gettouch(this))
gettouch(this)(this, oth);
if(oth.solid != SOLID_NOT && gettouch(oth))
gettouch(oth)(oth, this);
+
+ trace_allsolid = save_trace_allsolid;
+ trace_startsolid = save_trace_startsolid;
+ trace_fraction = save_trace_fraction;
+ trace_inwater = save_trace_inwater;
+ trace_inopen = save_trace_inopen;
+ trace_endpos = save_trace_endpos;
+ trace_plane_normal = save_trace_plane_normal;
+ trace_plane_dist = save_trace_plane_dist;
+ trace_ent = save_trace_ent;
+ trace_dpstartcontents = save_trace_dpstartcontents;
+ trace_dphitcontents = save_trace_dphitcontents;
+ trace_dphitq3surfaceflags = save_trace_dphitq3surfaceflags;
+ trace_dphittexturename = save_trace_dphittexturename;
}
void _Movetype_LinkEdict_TouchAreaGrid(entity this) // SV_LinkEdict_TouchAreaGrid
}
}
-vector _Movetype_ClipVelocity(vector vel, vector norm, float f) // SV_ClipVelocity
+vector _Movetype_ClipVelocity(vector vel, vector norm, float f) // ClipVelocity
{
vel -= ((vel * norm) * norm) * f;
case MOVETYPE_FLY:
case MOVETYPE_FLY_WORLDONLY:
_Movetype_Physics_Toss(this, movedt);
- if(wasfreed(this))
- return;
- _Movetype_LinkEdict(this, true);
break;
case MOVETYPE_PHYSICS:
break;
if (wasfreed(this))
return;
- if (trace_startsolid)
+ // NOTE: this is bmodelstartsolid in the engine
+ if (trace_startsolid && trace_ent.solid == SOLID_BSP)
{
+ // QC lacks pointers so we must save the old trace values
+ float oldtrace_fraction = trace_fraction;
+ vector oldtrace_plane_normal = trace_plane_normal;
+ entity oldtrace_ent = trace_ent;
_Movetype_UnstickEntity(this);
+ trace_fraction = oldtrace_fraction;
+ trace_plane_normal = oldtrace_plane_normal;
+ trace_ent = oldtrace_ent;
if(!_Movetype_PushEntity(this, move, true, true))
return;
if (wasfreed(this))
}
-void sys_phys_update_single(entity this);
+//void sys_phys_update_single(entity this);
void W_Electro_Bolt_Think(entity this)
{