From ca3171a33a155563346f71e32d1d072a9447407f Mon Sep 17 00:00:00 2001 From: SzwedzikPL Date: Sat, 19 Mar 2016 16:17:26 +0100 Subject: [PATCH 01/19] Initial commit dogtags --- addons/dogtags/CfgEventHandlers.hpp | 15 + addons/dogtags/CfgVehicles.hpp | 43 + addons/dogtags/CfgWeapons.hpp | 16 + addons/dogtags/Dogtag.hpp | 50 + addons/dogtags/README.md | 11 + addons/dogtags/XEH_PREP.hpp | 10 + addons/dogtags/XEH_postInit.sqf | 6 + addons/dogtags/XEH_preInit.sqf | 7 + addons/dogtags/XEH_preStart.sqf | 3 + addons/dogtags/config.cpp | 18 + addons/dogtags/data/dogtag.paa | Bin 0 -> 11081 bytes .../functions/fnc_addDogtagActions.sqf | 40 + .../dogtags/functions/fnc_addDogtagItem.sqf | 23 + .../dogtags/functions/fnc_canCheckDogtag.sqf | 20 + .../dogtags/functions/fnc_canTakeDogtag.sqf | 20 + addons/dogtags/functions/fnc_checkDogtag.sqf | 23 + .../dogtags/functions/fnc_checkDogtagItem.sqf | 19 + .../dogtags/functions/fnc_getDogtagItem.sqf | 40 + .../dogtags/functions/fnc_sendDogtagData.sqf | 30 + addons/dogtags/functions/fnc_showDogtag.sqf | 27 + addons/dogtags/functions/fnc_takeDogtag.sqf | 24 + addons/dogtags/functions/script_component.hpp | 1 + addons/dogtags/script_component.hpp | 1029 +++++++++++++++++ addons/dogtags/stringtable.xml | 89 ++ 24 files changed, 1564 insertions(+) create mode 100644 addons/dogtags/CfgEventHandlers.hpp create mode 100644 addons/dogtags/CfgVehicles.hpp create mode 100644 addons/dogtags/CfgWeapons.hpp create mode 100644 addons/dogtags/Dogtag.hpp create mode 100644 addons/dogtags/README.md create mode 100644 addons/dogtags/XEH_PREP.hpp create mode 100644 addons/dogtags/XEH_postInit.sqf create mode 100644 addons/dogtags/XEH_preInit.sqf create mode 100644 addons/dogtags/XEH_preStart.sqf create mode 100644 addons/dogtags/config.cpp create mode 100644 addons/dogtags/data/dogtag.paa create mode 100644 addons/dogtags/functions/fnc_addDogtagActions.sqf create mode 100644 addons/dogtags/functions/fnc_addDogtagItem.sqf create mode 100644 addons/dogtags/functions/fnc_canCheckDogtag.sqf create mode 100644 addons/dogtags/functions/fnc_canTakeDogtag.sqf create mode 100644 addons/dogtags/functions/fnc_checkDogtag.sqf create mode 100644 addons/dogtags/functions/fnc_checkDogtagItem.sqf create mode 100644 addons/dogtags/functions/fnc_getDogtagItem.sqf create mode 100644 addons/dogtags/functions/fnc_sendDogtagData.sqf create mode 100644 addons/dogtags/functions/fnc_showDogtag.sqf create mode 100644 addons/dogtags/functions/fnc_takeDogtag.sqf create mode 100644 addons/dogtags/functions/script_component.hpp create mode 100644 addons/dogtags/script_component.hpp create mode 100644 addons/dogtags/stringtable.xml diff --git a/addons/dogtags/CfgEventHandlers.hpp b/addons/dogtags/CfgEventHandlers.hpp new file mode 100644 index 00000000000..e90bed419e7 --- /dev/null +++ b/addons/dogtags/CfgEventHandlers.hpp @@ -0,0 +1,15 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + }; +}; +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + }; +}; diff --git a/addons/dogtags/CfgVehicles.hpp b/addons/dogtags/CfgVehicles.hpp new file mode 100644 index 00000000000..8e9204c4ca5 --- /dev/null +++ b/addons/dogtags/CfgVehicles.hpp @@ -0,0 +1,43 @@ +class CfgVehicles { + class Man; + class CAManBase: Man { + class ACE_Actions { + class ACE_MainActions { + class ACE_Dogtag { + displayName = CSTRING(itemName); + condition = ""; + statement = ""; + showDisabled = 0; + priority = 3; + icon = ""; //@todo + class ACE_CheckDogtag { + displayName = CSTRING(checkDogtag); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canCheckDogtag)); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(checkDogtag)); + showDisabled = 0; + priority = 3; + icon = ""; //@todo + }; + class ACE_TakeDogtag { + displayName = CSTRING(takeDogtag); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canTakeDogtag)); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(takeDogtag)); + showDisabled = 0; + priority = 3; + icon = ""; //@todo + }; + }; + }; + }; + class ACE_SelfActions { + class ACE_Equipment { + class ACE_CheckDogtags { + displayName = CSTRING(checkItem); + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call DFUNC(addDogtagActions)); + }; + }; + }; + }; +}; diff --git a/addons/dogtags/CfgWeapons.hpp b/addons/dogtags/CfgWeapons.hpp new file mode 100644 index 00000000000..b1e6e780f9c --- /dev/null +++ b/addons/dogtags/CfgWeapons.hpp @@ -0,0 +1,16 @@ +class CfgWeapons { + class ACE_ItemCore; + class InventoryItem_Base_F; + + class ACE_dogtag: ACE_ItemCore { + author = ECSTRING(common,ACETeam); + scope = 0; + displayName = CSTRING(itemName); + model = "\A3\weapons_F\ammo\mag_univ.p3d"; //@todo? + //picture = QUOTE(PATHTOF(images\picture.paa)); @todo + class ItemInfo: InventoryItem_Base_F { + mass = 0; //too small to for 1 ? + }; + }; + ACE_DOGTAGS(ACE_dogtag) +}; diff --git a/addons/dogtags/Dogtag.hpp b/addons/dogtags/Dogtag.hpp new file mode 100644 index 00000000000..9ab7fe8fd7f --- /dev/null +++ b/addons/dogtags/Dogtag.hpp @@ -0,0 +1,50 @@ +class RscPicture; +class RscStructuredText; + +class RscTitles { + class GVAR(tag) { + idd = -1; + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(tag)),_this select 0)]); + onUnload = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(tag)),nil)]); + movingEnable = false; + duration = 5; + fadeIn = 0.2; + fadeOut = 0.2; + + class controls { + class background: RscPicture { + idc = 1000; + text = QUOTE(PATHTOF(data\dogtag.paa)); + sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + colorText[] = {1, 1, 1, 1}; + colorBackground[] = {0, 0, 0, 0}; + x = ((safezoneX + safezoneW) - (10 * (((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 * (((safezoneW / safezoneH) min 1.2) / 40)); + y = safeZoneY + 0.175 * safezoneH; + w = (8 * (((safezoneW / safezoneH) min 1.2) / 40)); + h = (4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)); + font = "EtelkaMonospacePro"; + }; + class nickname: RscStructuredText { + idc = 1001; + text = ""; + sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + colorText[] = {1, 1, 1, 1}; + colorBackground[] = {0, 0, 0, 0}; + x = ((safezoneX + safezoneW) - (8.4 * (((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 * (((safezoneW / safezoneH) min 1.2) / 40)); + y = safeZoneY + 0.2 * safezoneH; + w = (5.9 * (((safezoneW / safezoneH) min 1.2) / 40)); + h = (4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)); + font = "EtelkaMonospacePro"; + class Attributes { + font = "EtelkaMonospacePro"; + color = "#FFFFFF"; + align = "center"; + valign = "middle"; + shadow = 1; + shadowColor = "#3f4345"; + size = "0.85"; + }; + }; + }; + }; +}; diff --git a/addons/dogtags/README.md b/addons/dogtags/README.md new file mode 100644 index 00000000000..1c52679ee7f --- /dev/null +++ b/addons/dogtags/README.md @@ -0,0 +1,11 @@ +ace_dogtags +========== + +Adds options to check and take dog tag from dead units + + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [SzwedzikPL](https://github.com/SzwedzikPL) diff --git a/addons/dogtags/XEH_PREP.hpp b/addons/dogtags/XEH_PREP.hpp new file mode 100644 index 00000000000..023cc5e733e --- /dev/null +++ b/addons/dogtags/XEH_PREP.hpp @@ -0,0 +1,10 @@ +PREP(addDogtagActions); +PREP(addDogtagItem); +PREP(canCheckDogtag); +PREP(canTakeDogtag); +PREP(checkDogtag); +PREP(checkDogtagItem); +PREP(getDogtagItem); +PREP(sendDogtagData); +PREP(showDogtag); +PREP(takeDogtag); diff --git a/addons/dogtags/XEH_postInit.sqf b/addons/dogtags/XEH_postInit.sqf new file mode 100644 index 00000000000..2d7b1dd49c3 --- /dev/null +++ b/addons/dogtags/XEH_postInit.sqf @@ -0,0 +1,6 @@ +#include "script_component.hpp" + +[QGVAR(showDogtag), DFUNC(showDogtag)] call EFUNC(common,addEventHandler); +[QGVAR(sendDogtagData), DFUNC(sendDogtagData)] call EFUNC(common,addEventHandler); +[QGVAR(getDogtagItem), DFUNC(getDogtagItem)] call EFUNC(common,addEventHandler); +[QGVAR(addDogtagItem), DFUNC(addDogtagItem)] call EFUNC(common,addEventHandler); diff --git a/addons/dogtags/XEH_preInit.sqf b/addons/dogtags/XEH_preInit.sqf new file mode 100644 index 00000000000..a7feade1c39 --- /dev/null +++ b/addons/dogtags/XEH_preInit.sqf @@ -0,0 +1,7 @@ +#include "script_component.hpp" + +ADDON = false; + +#include "XEH_PREP.hpp" + +ADDON = true; diff --git a/addons/dogtags/XEH_preStart.sqf b/addons/dogtags/XEH_preStart.sqf new file mode 100644 index 00000000000..022888575ed --- /dev/null +++ b/addons/dogtags/XEH_preStart.sqf @@ -0,0 +1,3 @@ +#include "script_component.hpp" + +#include "XEH_PREP.hpp" diff --git a/addons/dogtags/config.cpp b/addons/dogtags/config.cpp new file mode 100644 index 00000000000..de66b2a0879 --- /dev/null +++ b/addons/dogtags/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common"}; + author[] = {"SzwedzikPL"}; + authorUrl = "https://github.com/SzwedzikPL/"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "CfgWeapons.hpp" +#include "CfgVehicles.hpp" +#include "Dogtag.hpp" diff --git a/addons/dogtags/data/dogtag.paa b/addons/dogtags/data/dogtag.paa new file mode 100644 index 0000000000000000000000000000000000000000..b66bf83e53f95f9afd8402583e8703ffa4d3308b GIT binary patch literal 11081 zcmbW73tUr2*1)gPwgjZ;{wgb06r?B#jfkJ3U@4ESZL!;K%kBjWMyRaawp3(IeJq5K z#ncBx;#Q+p3{Yz-Bn@e+36{qVtGlt5HuS3|K|wC<)<&Tk)W+~gm~SR@CfNS=d*%02 z^Y@&YJ2U5;nKS3+0r1Q-X@B_5Gg)cVD2nR3@b_8F2}3cpL?pWP7@RUJc7NU|78|B7v47~%sbjH(JWAoq8(5$7q4;lG;1p}FQ` z7ZHOCks7|0Ui6J|)49l@6aX3{IT2b{=n`lTWB54$j+&v_W?~zn7Wg~*_y5aFt{FGR zWmUuGO`?wC-YhVNT#=$m_MM9e%L;Z#Z z(*IHOJF-m-vfIRXdM&hy9^jDmYc+4=WtY@bp(hl#S!7(WA)soxeSL5)^oNhj<^TZw zjpFQ`X#Kype7f~J!342g;g zwGAumSUyu+RL~N^*Z6sQZbZYfO3VjkGsXKZN1w+Ws>~FRumME=Xp>0RcSw_hzDqSWe}uzoVzV;NS45dZPm zK8W8Tg<}a#xicTytEDfE3SMz&?YuN&aL=Le9spLFsVUPYf)}bmm7hjFF@DU7dr#j2 zz8&-2>|t?v9@eTZ{BE{R;E&&>;_AY`DD)&=hD0wE6ja0z`^Ag(g;&=z0^EM7xJx8_ zsWk?(OFksJxk-?W8QCA~`<|?SwklH`Tgx(7o~>Fcu39w6$9!3RKxS7~llAFVza$>L zS4Mcd>VPb^^<)s%Kcl`RXH6gKG0#$Nk!5FPEyuhZa!(DK=LsD>mi1RYlKSP}&ED}^fBnkh6`pR> z?JfW!sVMHg=m~54?VmPg{L`w04e(5SzOW-TzZkdILwo1+9yDT(7ypo>(+S9am?_g2 zz79+*mjCLlE|INuQ#oc4l(%a3zU$|i;vW7SVxLguOtIa4V=tB`C=bdmtahj|XG8mG zTBecp8POe(-Ksg4gyl)b!>YPn-XAd6Fxe_fGj;Y}`$uUUe5MEB!C!EzIsPYKhl+gzDJ{Jqx_W;AJblJ)4dyv(>udNjEG zTzev;=W&Vuq4>?#noL+Of%fuh_Y!}UIOeh=ntEctGDnY%8UNQ#zy6qQU!Z^guXPF? zLS^&YSdKVvd~641p(BjhkuRmFv*7l8a2H4%8v<5@9_!{(&%X0m#yc_NMGHv$>IeteEwM({rU9{(G43 z9n=>tH>io+3isPi>cU|x4^@g}BRd<3y|=@7H^lW5|Nm5dTHbQk^fA^S(Or^1As#2| zd(7;TyLD3t*Dz<)dDjAof3=y>-XN0a5;psK*h+~0qEfuAJ~Mx%Kcv(OP4P@JEiI%lP! ztY?K7p1bGcIa4Demw}>h7ru5J`opU{u~k3XTCMZD*>&Dnsl%CUN3&WOa7Ipm03a7XS>QOKWy># zU^&{a^=F6rFke>BQqF2VMf|A^#_PC!{7EeLSUy!-PcHZtbFbx$THe-k+|S!p{8*z2 zbDKHL_)pjMFEFF?H@|)b$=`Y{iNd5&ebX>6+OtJUbXDh8D<3aYcnd-=XhB!_Wai4t`EZuV*_h0KQa~%16DmiZ$ zXRR~4+#f%P53iN{*{?5gPVc`%=2PYz%t@6>rOQqzygerGIi$x84vwzq95w-O9oQm! zj8|MdG=$qHI|7n==FMC2Y;U=z=VVzo0M8{o@nA6b=jTV^W!q+lvFKj_bcyEfFDB$HGCq5f z5xibS{5{-W%Jk_5N&I*$N7S_q6=Xl{wImrC0hjC#9!s|_WHIcLKTBm{j3pq~^ zuNO6v{1)j;t~3z)Avs-UfU!1V0mOM@0|WPQ&M1iopMIWX+%Fe8%2QIFj9P8FQx1=W zM0i_#=%IxR!Py5=sRw3If0mt3{QB#h7qLEYXQU^DhO&=4cb8q(dtuz{isy14e*EY5 zpL^k6k=yKq`|Rq-{-OO(;P&O`J9Dv_U)Q{zTkh5I6LCijVPRS2G`Et+s9vek1T)1#iLF0%C3@czgWFs$U$BrFXUkKwr_w_H6 zJ8b1}Pe7mDk$1R;?5R;QU;Sg1!TMo*B-OidxLc(Ef|-Pwn^fQS(4fFIhjK1D@B51Z2D_WM8+5*9|`lNXTtF_N>bO$}HM+>G00xT(cF4p_G}n=ZqQ@7ir~M2_xPb#-T&u)f5R%yx8~CF4QyT<5JK_Cd^l zJ7@vcNA|p_^OE@^F2Cg@<3Vgt3&`{Ppgm}-6*|a-e*nkA#MAWn}N+1F|{ z^!b@_8*@KZU`F;p*7h^Zi0`wH$=#sw+lPhr9A#Qs{Q5t)=l#q=f6>AY|D8VSPotkK zXQ01~!nmIBzb71#RDN-BcW|1%tXt838GykYZctDlpfdh8E#uI400;_-Q#+*K7Sf+V z=|vmkmmT>kAGgnxb!JwDgzzvYDC5QN3EG92QGOS=xG@>?Rr4kJ;?}WEn9+Tk3eXXG z4Ktz}FjPN_S*qPf`VY64FcC*SA^QP3zq#K3*o*Zgj&S?bDHS9?g!z}fHYS#X z?;x0>>Z$2V zW-}EtjwLJ-#3p|f-UCa-s2(_lR0I9>pvqfg&he*T zwdI)6{krk}Im`X*u^oG4;U}0;{DzwX?UT8_p^4NJkUdMMYIFQ@iDPiV@(@1@9eVik z3^THKd-MJIl+~~(1-kE593#(A?MRC<@fv3 z&+W~EF__U&sX*tmR|E_1_r*Kb*{P4aia9e=;XEs5@PYz46V~+G`{z8fJ7EKQg#f^i z2$hc(od zqDcIDVEt?rho6n*y_N%VDyIH0=Jo7RbGzoyDaa2#{S);< zt2`C{e`c3Q@qNN;$UjQ6v-_#sOHlL6&3gdYy9Q>5*DK(R0mzFPRR^R4+F6lt4DtNH zW5&)LJw3(=%|KlDaGSX@bASd^a2Leiak|&DF;E{+74Sp^d-Hq3?Uk7tT2CE53wi$r z_`J>>B%fIc`Nn3-W6M|*NNcFHJjkhNJc3*et>I)K`5*HkYcc`dLe04bK+2xly#OqF=M~7+g=2Ij6`bkoZ!G{b#DE@bSmYb;)POd#rF4`Ypr#c-`Gw7|q56i4 z1`XVqkbx;O+zzjE^e8na7I9oeuf-y=)8*8nm5Ar3*O)`ZG;N|nm-zU%HRdK!9-T+c z^yw?&TP@B~8uH3yBv(u;VP-&mD>VkA}A_=XkxXrapR`#qV@=Qgh&WVvGM=I6C`i(V^`SO!IU;m}%&P-@#&F-TYeBA7l zQ`9T_cs~6R-5YD_X^Kkt{SBYI&76@A-GG|jxAQhUTR^Mjxg^R}B3*qQuF+q;odCcx zc3?;|o-lf*@4J_pR^P#aY0#^@j*g*XaA)Fd)EBCa;u*0H8`B1dJ7t6KjtRtD2x`l?9}R>RE>etK-tVcq>5(tu+h33~oo z2GhV-c^pm<_qkS^(=)DstFfCWUf0Ls=Y1vG1?5tb_KIYRLcM9Z63eafOfkKJ1D$wc zMH66IUmMFMX?ZD=r8Ic$i?F?0egRX=>6JhUtkg%#1fWy1dYtuF9I?cmV7nndD7LSMw;_U1!Nyznb&wSvnD|4)l zTsdR^NBW@=m_aDOu;F~-!VkVr2tWRDS$Fvu^oOFtDIssT5}mgc0A7yfb?FPA+MG+$ zt|VBt;ZD^>e>S0QW8)VEf=9F=3x9^^jio^~RA$>@M&)){d7e7U#l3C9QVGgdzFSd`}0X74ss#*ax~C-%Pv5Xm%|Q>X4F z@tXwwJyzG=j>iMzTNT0emqEkf&ldK)7e`)ep=&t2MaN-%bS>LBIPS%aUTb9EY9aPU z{%bPnC(Vz6^VRzO`4`tJUs*(p`-2R>8V<=-9Ak3U%OC~&{A#$E1_N-n@q0E)*h>nbxB>uHVRABgLM+syjH zz`!!_j1=+whkGs4bE!a==_z#h0DWXKn<=9xt1Bu2u_9XN7%HWxywQgS5Jv?_981Me zu8n!eCqH3wUy`GrkuBThkBU}4?#lT2em?9BH)!Do)D=QjjuR;)%?me z9YgCbf%eP3+#pk|%^c?O`Coq@>^o+&RWB4+wa5AYX%F-r`?Hk#LhG1DYQFS}?^tez zVPlPr4Q&1*(#J5nc?)I<9ARCCul-!Rq5vjW)Er<=rPl}I z_UKq>4y33R@a-1d22Ev-jPxb_sU2^QB=+w1z-WTikYw*xmvn5n4gyGmZ!ZMRJQDWF z?1(Ndm?Dg-Rc^Qcm|>jZtU&;)D?e=`C~RGNE#J?K)2%(;klY4fth?v4?&k|qQ}c&@ zb$%4xzIOum7n$x}@z57Adxa*O5oS~r!c*FX>fg}Kq~Z1=nEi9SyM1oaHC^I}hi*jK zKRk!ziWtWI<3Y&u`A#1Pu;3-=hR|>R2LGlyl2|ulDb2H%dphfadsyHU?VtP5)EO`p zlv32{yIB>$Q|E$R75;&?dT-qRtIupX%*?lF5X51xPh?+0_D4D09?O~EwHGeqNQ%Vq ze8K$u4(X1YFR@^Fb99(dP!KB+F#qgE!>F4sWSezS6i3$!;4cs|IM1@~7F#TbLuc5* z-8%5M&seu!B<)B|3ZSN;wDiq;&z|*ssXyVdLF? + * 1: Player + * + * Return Value: + * Children actions + * + * Public: No + */ +#include "script_component.hpp" + +params ["_target", "_player"]; + +//Get all dogtags and their ids +private _unitDogtags = []; +private _unitDogtagIDs = []; +{ + private _id = getNumber (configFile >> "CfgWeapons" >> _x >> QGVAR(tagID)); + if(_id > 0) then { + _unitDogtags pushback _x; + _unitDogtagIDs pushback _id; + }; +} forEach items _player; + +//Create action children for all dogtags +private _actions = []; +{ + private _tagID = _unitDogtagIDs select _forEachIndex; + private _displayName = format ["%1 #%2", getText (configFile >> "CfgWeapons" >> _x >> "displayName"), _tagID]; + private _picture = getText (configFile >> "CfgWeapons" >> _x >> "picture"); + + private _action = [_x, _displayName, _picture, {_this call FUNC(checkDogtagItem)}, {true}, {}, _x] call EFUNC(interact_menu,createAction); + _actions pushBack [_action, [], _player]; +} forEach _unitDogtags; + +_actions diff --git a/addons/dogtags/functions/fnc_addDogtagItem.sqf b/addons/dogtags/functions/fnc_addDogtagItem.sqf new file mode 100644 index 00000000000..35095ea087e --- /dev/null +++ b/addons/dogtags/functions/fnc_addDogtagItem.sqf @@ -0,0 +1,23 @@ +/* + * Author: SzwedzikPl + * Adds dogtag item to unit (triggered by server) + * + * Arguments: + * 0: Item class + * 1: Nickname on dogtag + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +params ["_item", "_nickname"]; + +if(_item == "") exitWith {}; + +[ace_player, _item] call CBA_fnc_addItem; + +private _displayText = format [localize LSTRING(takeDogtagSuccess), _nickname]; +[_displayText] call EFUNC(common,displayText); diff --git a/addons/dogtags/functions/fnc_canCheckDogtag.sqf b/addons/dogtags/functions/fnc_canCheckDogtag.sqf new file mode 100644 index 00000000000..5d86ae38505 --- /dev/null +++ b/addons/dogtags/functions/fnc_canCheckDogtag.sqf @@ -0,0 +1,20 @@ +/* + * Author: SzwedzikPl + * Checks if dogtag can be checked. + * + * Arguments: + * 0: Player + * 1: Target + * + * Return Value: + * True if dogtag can be checked + * + * Public: No + */ +#include "script_component.hpp" + +params ["_player", "_target"]; + +if(isNull _target) exitWith {false}; + +!alive _target diff --git a/addons/dogtags/functions/fnc_canTakeDogtag.sqf b/addons/dogtags/functions/fnc_canTakeDogtag.sqf new file mode 100644 index 00000000000..f017f75c546 --- /dev/null +++ b/addons/dogtags/functions/fnc_canTakeDogtag.sqf @@ -0,0 +1,20 @@ +/* + * Author: SzwedzikPl + * Checks if dogtag can be taken. + * + * Arguments: + * 0: Player + * 1: Target + * + * Return Value: + * True if dogtag can be taken + * + * Public: No + */ +#include "script_component.hpp" + +params ["_player", "_target"]; + +if(isNull _target) exitWith {false}; + +!alive _target diff --git a/addons/dogtags/functions/fnc_checkDogtag.sqf b/addons/dogtags/functions/fnc_checkDogtag.sqf new file mode 100644 index 00000000000..93dab639adf --- /dev/null +++ b/addons/dogtags/functions/fnc_checkDogtag.sqf @@ -0,0 +1,23 @@ +/* + * Author: SzwedzikPl + * Checks unit dogtag + * + * Arguments: + * 0: Player + * 1: Target + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +params ["_player", "_target"]; + +if(_target getVariable [QGVAR(dogtagTaken), false]) then { + [localize LSTRING(noDogtag)] call EFUNC(common,displayText); +} else { + private _nickname = [_target, false, true] call EFUNC(common,getName); + [QGVAR(showDogtag), [_nickname]] call EFUNC(common,localEvent); +}; diff --git a/addons/dogtags/functions/fnc_checkDogtagItem.sqf b/addons/dogtags/functions/fnc_checkDogtagItem.sqf new file mode 100644 index 00000000000..c67fd7d7990 --- /dev/null +++ b/addons/dogtags/functions/fnc_checkDogtagItem.sqf @@ -0,0 +1,19 @@ +/* + * Author: SzwedzikPl + * Check dogtag self menu action + * + * Arguments: + * 0: Player + * 1: Target + * 2: Item class + * + * Return Value: + * Mone + * + * Public: No + */ +#include "script_component.hpp" + +params ["_player", "_target", "_item"]; + +[QGVAR(sendDogtagData), [_player, _item]] call EFUNC(common,serverEvent); diff --git a/addons/dogtags/functions/fnc_getDogtagItem.sqf b/addons/dogtags/functions/fnc_getDogtagItem.sqf new file mode 100644 index 00000000000..ce0a49a8bb1 --- /dev/null +++ b/addons/dogtags/functions/fnc_getDogtagItem.sqf @@ -0,0 +1,40 @@ +/* + * Author: SzwedzikPl + * Server: creates new dogtag item and send it to client + * + * Arguments: + * 0: Player + * 1: Target + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +if(!isServer) exitWith {}; + +params ["_target", "_unit"]; +TRACE_2("getDogtagItem",_target,_unit); + +private _allDogtags = missionNameSpace getVariable [QGVAR(allDogtags), []]; +private _allDogtagNicknames = missionNameSpace getVariable [QGVAR(allDogtagNicknames), []]; + +private _nextID = count _allDogtags + 1; + +if(_nextID > 999) exitWith {}; + +private _nickname = [_unit, false, true] call EFUNC(common,getName); +private _item = format ["ACE_dogtag_%1", _nextID]; +_allDogtags pushBack _item; +_allDogtagNicknames pushBack _nickname; + +missionNameSpace setVariable [QGVAR(allDogtags), _allDogtags]; +missionNameSpace setVariable [QGVAR(allDogtagNicknames), _allDogtagNicknames]; + +if(isMultiplayer) then { + [QGVAR(addDogtagItem), [_target], [_item]] call EFUNC(common,targetEvent); +} else { + [QGVAR(addDogtagItem), [_item, _nickname]] call EFUNC(common,localEvent); +}; diff --git a/addons/dogtags/functions/fnc_sendDogtagData.sqf b/addons/dogtags/functions/fnc_sendDogtagData.sqf new file mode 100644 index 00000000000..4294844c319 --- /dev/null +++ b/addons/dogtags/functions/fnc_sendDogtagData.sqf @@ -0,0 +1,30 @@ +/* + * Author: SzwedzikPl + * Server: returns to client nickname on given dogtag + * + * Arguments: + * 0: Player + * 1: Target + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +if(!isServer) exitWith {}; + +params ["_target", "_item"]; +TRACE_2("sendDogtagData",_target,_item); + +private _allDogtags = missionNameSpace getVariable [QGVAR(allDogtags), []]; +private _allDogtagNicknames = missionNameSpace getVariable [QGVAR(allDogtagNicknames), []]; + +private _nickname = ""; +private _index = _allDogtags find _item; +if(_index >= 0) then { + _nickname = _allDogtagNicknames select _index; +}; + +[QGVAR(showDogtag), [_target], [_nickname]] call EFUNC(common,targetEvent); diff --git a/addons/dogtags/functions/fnc_showDogtag.sqf b/addons/dogtags/functions/fnc_showDogtag.sqf new file mode 100644 index 00000000000..667aeb2593a --- /dev/null +++ b/addons/dogtags/functions/fnc_showDogtag.sqf @@ -0,0 +1,27 @@ +/* + * Author: SzwedzikPL + * Shows dogtag + * + * Arguments: + * 0: Nickname + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +disableSerialization; + +params ["_nickname"]; + +if(!hasInterface || {_nickname == ""}) exitWith {}; + +(QGVAR(tag) call BIS_fnc_rscLayer) cutRsc [QGVAR(tag), "PLAIN", 1, true]; + +private _display = uiNamespace getvariable [QGVAR(tag), displayNull]; +if(isNull _display) exitWith {}; + +private _control = _display displayCtrl 1001; +_control ctrlSetText _nickname; diff --git a/addons/dogtags/functions/fnc_takeDogtag.sqf b/addons/dogtags/functions/fnc_takeDogtag.sqf new file mode 100644 index 00000000000..2d4e352f247 --- /dev/null +++ b/addons/dogtags/functions/fnc_takeDogtag.sqf @@ -0,0 +1,24 @@ +/* + * Author: SzwedzikPl + * If dogtag is not already taken triggers event on server + * If dogtag already taken displays info about it + * + * Arguments: + * 0: Player + * 1: Target + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +params ["_player", "_target"]; + +if(_target getVariable [QGVAR(dogtagTaken), false]) then { + [localize LSTRING(dogtagAlreadyTaken)] call EFUNC(common,displayText); +} else { + _target setVariable [QGVAR(dogtagTaken), true, true]; + [QGVAR(getDogtagItem), [_player, _target]] call EFUNC(common,serverEvent); +}; diff --git a/addons/dogtags/functions/script_component.hpp b/addons/dogtags/functions/script_component.hpp new file mode 100644 index 00000000000..583e76df338 --- /dev/null +++ b/addons/dogtags/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\dogtags\script_component.hpp" diff --git a/addons/dogtags/script_component.hpp b/addons/dogtags/script_component.hpp new file mode 100644 index 00000000000..6f1e5d776a4 --- /dev/null +++ b/addons/dogtags/script_component.hpp @@ -0,0 +1,1029 @@ +#define COMPONENT dogtags +#include "\z\ace\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE +// #define CBA_DEBUG_SYNCHRONOUS +// #define ENABLE_PERFORMANCE_COUNTERS + +#ifdef DEBUG_ENABLED_DOGTAGS + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_DOGTAGS + #define DEBUG_SETTINGS DEBUG_SETTINGS_DOGTAGS +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + +#define ACE_DOGTAG_CLASS(DOGTAGBASE,DOGTAGID) \ + class DOGTAGBASE##_##DOGTAGID : DOGTAGBASE { \ + author = ECSTRING(common,ACETeam); \ + scope = 1; \ + scopeArsenal = 0; \ + scopeCurator = 0; \ + descriptionShort = QUOTE(DOGTAGID); \ + GVAR(tagID) = DOGTAGID; \ + }; + +#define ACE_DOGTAGS(DOGTAGBASE) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,1) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,2) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,3) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,4) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,5) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,6) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,7) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,8) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,9) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,10) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,11) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,12) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,13) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,14) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,15) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,16) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,17) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,18) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,19) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,20) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,21) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,22) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,23) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,24) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,25) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,26) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,27) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,28) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,29) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,30) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,31) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,32) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,33) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,34) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,35) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,36) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,37) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,38) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,39) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,40) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,41) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,42) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,43) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,44) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,45) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,46) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,47) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,48) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,49) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,50) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,51) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,52) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,53) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,54) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,55) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,56) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,57) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,58) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,59) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,60) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,61) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,62) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,63) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,64) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,65) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,66) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,67) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,68) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,69) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,70) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,71) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,72) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,73) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,74) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,75) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,76) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,77) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,78) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,79) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,80) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,81) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,82) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,83) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,84) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,85) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,86) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,87) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,88) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,89) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,90) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,91) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,92) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,93) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,94) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,95) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,96) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,97) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,98) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,99) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,100) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,101) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,102) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,103) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,104) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,105) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,106) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,107) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,108) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,109) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,110) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,111) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,112) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,113) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,114) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,115) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,116) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,117) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,118) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,119) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,120) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,121) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,122) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,123) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,124) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,125) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,126) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,127) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,128) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,129) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,130) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,131) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,132) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,133) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,134) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,135) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,136) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,137) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,138) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,139) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,140) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,141) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,142) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,143) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,144) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,145) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,146) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,147) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,148) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,149) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,150) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,151) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,152) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,153) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,154) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,155) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,156) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,157) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,158) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,159) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,160) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,161) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,162) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,163) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,164) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,165) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,166) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,167) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,168) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,169) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,170) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,171) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,172) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,173) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,174) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,175) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,176) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,177) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,178) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,179) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,180) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,181) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,182) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,183) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,184) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,185) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,186) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,187) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,188) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,189) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,190) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,191) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,192) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,193) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,194) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,195) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,196) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,197) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,198) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,199) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,200) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,201) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,202) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,203) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,204) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,205) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,206) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,207) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,208) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,209) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,210) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,211) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,212) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,213) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,214) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,215) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,216) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,217) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,218) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,219) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,220) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,221) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,222) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,223) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,224) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,225) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,226) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,227) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,228) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,229) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,230) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,231) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,232) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,233) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,234) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,235) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,236) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,237) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,238) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,239) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,240) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,241) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,242) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,243) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,244) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,245) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,246) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,247) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,248) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,249) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,250) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,251) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,252) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,253) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,254) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,255) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,256) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,257) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,258) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,259) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,260) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,261) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,262) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,263) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,264) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,265) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,266) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,267) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,268) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,269) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,270) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,271) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,272) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,273) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,274) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,275) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,276) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,277) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,278) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,279) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,280) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,281) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,282) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,283) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,284) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,285) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,286) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,287) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,288) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,289) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,290) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,291) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,292) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,293) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,294) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,295) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,296) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,297) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,298) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,299) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,300) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,301) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,302) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,303) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,304) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,305) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,306) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,307) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,308) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,309) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,310) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,311) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,312) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,313) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,314) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,315) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,316) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,317) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,318) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,319) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,320) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,321) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,322) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,323) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,324) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,325) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,326) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,327) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,328) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,329) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,330) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,331) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,332) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,333) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,334) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,335) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,336) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,337) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,338) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,339) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,340) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,341) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,342) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,343) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,344) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,345) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,346) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,347) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,348) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,349) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,350) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,351) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,352) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,353) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,354) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,355) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,356) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,357) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,358) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,359) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,360) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,361) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,362) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,363) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,364) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,365) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,366) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,367) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,368) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,369) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,370) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,371) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,372) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,373) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,374) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,375) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,376) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,377) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,378) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,379) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,380) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,381) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,382) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,383) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,384) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,385) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,386) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,387) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,388) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,389) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,390) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,391) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,392) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,393) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,394) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,395) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,396) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,397) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,398) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,399) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,400) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,401) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,402) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,403) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,404) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,405) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,406) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,407) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,408) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,409) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,410) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,411) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,412) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,413) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,414) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,415) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,416) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,417) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,418) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,419) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,420) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,421) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,422) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,423) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,424) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,425) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,426) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,427) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,428) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,429) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,430) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,431) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,432) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,433) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,434) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,435) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,436) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,437) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,438) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,439) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,440) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,441) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,442) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,443) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,444) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,445) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,446) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,447) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,448) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,449) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,450) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,451) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,452) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,453) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,454) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,455) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,456) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,457) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,458) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,459) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,460) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,461) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,462) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,463) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,464) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,465) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,466) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,467) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,468) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,469) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,470) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,471) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,472) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,473) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,474) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,475) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,476) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,477) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,478) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,479) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,480) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,481) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,482) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,483) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,484) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,485) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,486) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,487) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,488) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,489) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,490) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,491) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,492) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,493) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,494) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,495) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,496) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,497) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,498) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,499) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,500) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,501) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,502) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,503) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,504) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,505) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,506) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,507) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,508) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,509) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,510) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,511) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,512) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,513) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,514) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,515) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,516) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,517) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,518) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,519) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,520) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,521) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,522) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,523) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,524) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,525) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,526) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,527) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,528) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,529) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,530) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,531) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,532) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,533) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,534) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,535) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,536) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,537) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,538) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,539) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,540) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,541) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,542) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,543) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,544) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,545) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,546) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,547) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,548) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,549) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,550) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,551) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,552) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,553) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,554) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,555) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,556) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,557) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,558) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,559) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,560) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,561) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,562) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,563) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,564) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,565) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,566) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,567) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,568) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,569) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,570) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,571) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,572) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,573) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,574) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,575) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,576) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,577) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,578) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,579) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,580) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,581) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,582) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,583) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,584) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,585) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,586) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,587) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,588) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,589) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,590) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,591) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,592) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,593) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,594) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,595) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,596) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,597) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,598) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,599) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,600) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,601) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,602) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,603) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,604) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,605) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,606) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,607) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,608) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,609) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,610) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,611) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,612) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,613) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,614) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,615) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,616) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,617) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,618) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,619) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,620) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,621) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,622) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,623) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,624) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,625) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,626) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,627) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,628) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,629) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,630) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,631) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,632) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,633) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,634) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,635) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,636) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,637) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,638) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,639) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,640) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,641) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,642) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,643) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,644) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,645) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,646) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,647) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,648) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,649) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,650) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,651) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,652) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,653) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,654) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,655) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,656) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,657) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,658) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,659) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,660) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,661) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,662) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,663) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,664) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,665) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,666) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,667) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,668) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,669) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,670) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,671) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,672) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,673) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,674) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,675) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,676) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,677) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,678) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,679) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,680) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,681) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,682) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,683) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,684) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,685) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,686) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,687) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,688) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,689) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,690) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,691) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,692) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,693) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,694) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,695) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,696) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,697) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,698) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,699) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,700) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,701) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,702) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,703) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,704) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,705) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,706) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,707) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,708) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,709) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,710) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,711) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,712) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,713) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,714) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,715) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,716) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,717) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,718) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,719) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,720) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,721) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,722) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,723) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,724) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,725) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,726) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,727) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,728) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,729) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,730) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,731) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,732) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,733) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,734) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,735) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,736) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,737) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,738) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,739) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,740) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,741) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,742) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,743) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,744) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,745) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,746) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,747) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,748) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,749) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,750) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,751) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,752) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,753) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,754) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,755) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,756) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,757) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,758) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,759) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,760) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,761) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,762) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,763) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,764) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,765) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,766) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,767) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,768) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,769) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,770) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,771) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,772) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,773) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,774) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,775) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,776) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,777) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,778) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,779) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,780) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,781) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,782) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,783) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,784) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,785) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,786) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,787) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,788) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,789) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,790) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,791) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,792) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,793) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,794) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,795) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,796) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,797) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,798) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,799) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,800) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,801) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,802) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,803) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,804) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,805) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,806) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,807) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,808) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,809) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,810) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,811) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,812) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,813) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,814) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,815) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,816) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,817) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,818) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,819) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,820) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,821) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,822) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,823) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,824) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,825) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,826) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,827) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,828) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,829) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,830) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,831) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,832) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,833) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,834) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,835) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,836) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,837) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,838) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,839) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,840) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,841) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,842) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,843) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,844) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,845) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,846) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,847) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,848) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,849) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,850) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,851) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,852) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,853) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,854) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,855) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,856) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,857) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,858) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,859) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,860) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,861) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,862) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,863) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,864) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,865) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,866) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,867) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,868) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,869) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,870) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,871) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,872) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,873) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,874) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,875) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,876) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,877) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,878) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,879) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,880) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,881) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,882) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,883) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,884) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,885) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,886) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,887) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,888) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,889) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,890) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,891) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,892) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,893) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,894) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,895) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,896) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,897) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,898) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,899) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,900) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,901) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,902) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,903) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,904) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,905) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,906) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,907) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,908) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,909) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,910) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,911) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,912) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,913) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,914) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,915) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,916) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,917) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,918) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,919) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,920) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,921) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,922) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,923) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,924) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,925) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,926) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,927) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,928) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,929) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,930) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,931) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,932) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,933) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,934) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,935) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,936) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,937) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,938) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,939) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,940) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,941) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,942) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,943) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,944) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,945) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,946) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,947) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,948) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,949) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,950) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,951) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,952) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,953) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,954) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,955) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,956) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,957) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,958) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,959) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,960) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,961) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,962) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,963) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,964) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,965) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,966) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,967) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,968) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,969) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,970) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,971) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,972) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,973) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,974) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,975) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,976) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,977) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,978) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,979) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,980) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,981) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,982) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,983) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,984) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,985) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,986) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,987) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,988) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,989) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,990) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,991) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,992) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,993) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,994) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,995) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,996) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,997) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,998) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,999) \ + ACE_DOGTAG_CLASS(DOGTAGBASE,1000) diff --git a/addons/dogtags/stringtable.xml b/addons/dogtags/stringtable.xml new file mode 100644 index 00000000000..60bbdf508ea --- /dev/null +++ b/addons/dogtags/stringtable.xml @@ -0,0 +1,89 @@ + + + + + Dog Tag + + + + Nieśmiertelnik + + + + + + + + Check Dog Tag + + + + Sprawdź nieśmiertelnik + + + + + + + + Check + + + + Sprawdź + + + + + + + + Take + + + + Zabierz + + + + + + + + Dogtag taken from %1... + + + + Zabrałeś nieśmiertelnik %1... + + + + + + + + I can't seem to find his dogtag! + + + + Brak nieśmiertelnika + + + + + + + + Somebody else has already taken the dogtag... + + + + Ktoś już zabrał ten nieśmiertelnik... + + + + + + + + \ No newline at end of file From 1cdecf75da42bc64cd21c981058297da91b7ad9f Mon Sep 17 00:00:00 2001 From: SzwedzikPL Date: Sat, 19 Mar 2016 18:12:18 +0100 Subject: [PATCH 02/19] double dogtag support, fix addDogtagItem event in mp, unconscious units support, little cleanup --- addons/dogtags/Dogtag.hpp | 32 ++++++++-- addons/dogtags/README.md | 2 +- addons/dogtags/data/dogtag.paa | Bin 11081 -> 0 bytes addons/dogtags/data/dogtagDouble.paa | Bin 0 -> 22016 bytes addons/dogtags/data/dogtagSingle.paa | Bin 0 -> 22016 bytes .../functions/fnc_addDogtagActions.sqf | 8 +-- .../dogtags/functions/fnc_addDogtagItem.sqf | 4 +- .../dogtags/functions/fnc_canCheckDogtag.sqf | 6 +- .../dogtags/functions/fnc_canTakeDogtag.sqf | 6 +- addons/dogtags/functions/fnc_checkDogtag.sqf | 11 ++-- .../dogtags/functions/fnc_checkDogtagItem.sqf | 2 +- .../dogtags/functions/fnc_getDogtagItem.sqf | 14 ++-- .../dogtags/functions/fnc_sendDogtagData.sqf | 4 +- addons/dogtags/functions/fnc_showDogtag.sqf | 11 ++-- addons/dogtags/functions/fnc_takeDogtag.sqf | 4 +- addons/dogtags/stringtable.xml | 60 ------------------ 16 files changed, 63 insertions(+), 101 deletions(-) delete mode 100644 addons/dogtags/data/dogtag.paa create mode 100644 addons/dogtags/data/dogtagDouble.paa create mode 100644 addons/dogtags/data/dogtagSingle.paa diff --git a/addons/dogtags/Dogtag.hpp b/addons/dogtags/Dogtag.hpp index 9ab7fe8fd7f..aa4480a7f8a 100644 --- a/addons/dogtags/Dogtag.hpp +++ b/addons/dogtags/Dogtag.hpp @@ -2,7 +2,7 @@ class RscPicture; class RscStructuredText; class RscTitles { - class GVAR(tag) { + class GVAR(singleTag) { idd = -1; onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(tag)),_this select 0)]); onUnload = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(tag)),nil)]); @@ -14,14 +14,14 @@ class RscTitles { class controls { class background: RscPicture { idc = 1000; - text = QUOTE(PATHTOF(data\dogtag.paa)); + text = QUOTE(PATHTOF(data\dogtagSingle.paa)); sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0, 0, 0, 0}; x = ((safezoneX + safezoneW) - (10 * (((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 * (((safezoneW / safezoneH) min 1.2) / 40)); y = safeZoneY + 0.175 * safezoneH; w = (8 * (((safezoneW / safezoneH) min 1.2) / 40)); - h = (4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)); + h = (8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)); font = "EtelkaMonospacePro"; }; class nickname: RscStructuredText { @@ -31,9 +31,9 @@ class RscTitles { colorText[] = {1, 1, 1, 1}; colorBackground[] = {0, 0, 0, 0}; x = ((safezoneX + safezoneW) - (8.4 * (((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 * (((safezoneW / safezoneH) min 1.2) / 40)); - y = safeZoneY + 0.2 * safezoneH; + y = safeZoneY + 0.25 * safezoneH; w = (5.9 * (((safezoneW / safezoneH) min 1.2) / 40)); - h = (4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)); + h = (3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)); font = "EtelkaMonospacePro"; class Attributes { font = "EtelkaMonospacePro"; @@ -47,4 +47,26 @@ class RscTitles { }; }; }; + class GVAR(doubleTag): GVAR(singleTag) { + idd = -1; + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(tag)),_this select 0)]); + onUnload = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(tag)),nil)]); + + class controls: controls { + class background: background { + text = QUOTE(PATHTOF(data\dogtagDouble.paa)); + }; + class nickname: nickname { + class Attributes: Attributes { + font = "EtelkaMonospacePro"; + color = "#FFFFFF"; + align = "center"; + valign = "middle"; + shadow = 1; + shadowColor = "#3f4345"; + size = "0.85"; + }; + }; + }; + }; }; diff --git a/addons/dogtags/README.md b/addons/dogtags/README.md index 1c52679ee7f..e3bf6caf73f 100644 --- a/addons/dogtags/README.md +++ b/addons/dogtags/README.md @@ -1,7 +1,7 @@ ace_dogtags ========== -Adds options to check and take dog tag from dead units +Adds options to check and take dog tag from dead or unconscious units ## Maintainers diff --git a/addons/dogtags/data/dogtag.paa b/addons/dogtags/data/dogtag.paa deleted file mode 100644 index b66bf83e53f95f9afd8402583e8703ffa4d3308b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11081 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 CWi|@{ literal 0 HcmV?d00001 diff --git a/addons/dogtags/functions/fnc_addDogtagActions.sqf b/addons/dogtags/functions/fnc_addDogtagActions.sqf index bd4fb4ff06b..ffc45532e9f 100644 --- a/addons/dogtags/functions/fnc_addDogtagActions.sqf +++ b/addons/dogtags/functions/fnc_addDogtagActions.sqf @@ -1,5 +1,5 @@ /* - * Author: SzwedzikPl + * Author: SzwedzikPL * Creates one action per dogtag. * * Arguments: @@ -20,9 +20,9 @@ private _unitDogtags = []; private _unitDogtagIDs = []; { private _id = getNumber (configFile >> "CfgWeapons" >> _x >> QGVAR(tagID)); - if(_id > 0) then { - _unitDogtags pushback _x; - _unitDogtagIDs pushback _id; + if (_id > 0) then { + _unitDogtags pushBack _x; + _unitDogtagIDs pushBack _id; }; } forEach items _player; diff --git a/addons/dogtags/functions/fnc_addDogtagItem.sqf b/addons/dogtags/functions/fnc_addDogtagItem.sqf index 35095ea087e..8349a7d62ee 100644 --- a/addons/dogtags/functions/fnc_addDogtagItem.sqf +++ b/addons/dogtags/functions/fnc_addDogtagItem.sqf @@ -1,5 +1,5 @@ /* - * Author: SzwedzikPl + * Author: SzwedzikPL * Adds dogtag item to unit (triggered by server) * * Arguments: @@ -15,7 +15,7 @@ params ["_item", "_nickname"]; -if(_item == "") exitWith {}; +if (_item == "") exitWith {}; [ace_player, _item] call CBA_fnc_addItem; diff --git a/addons/dogtags/functions/fnc_canCheckDogtag.sqf b/addons/dogtags/functions/fnc_canCheckDogtag.sqf index 5d86ae38505..2c46fe30e68 100644 --- a/addons/dogtags/functions/fnc_canCheckDogtag.sqf +++ b/addons/dogtags/functions/fnc_canCheckDogtag.sqf @@ -1,5 +1,5 @@ /* - * Author: SzwedzikPl + * Author: SzwedzikPL * Checks if dogtag can be checked. * * Arguments: @@ -15,6 +15,6 @@ params ["_player", "_target"]; -if(isNull _target) exitWith {false}; +if (isNull _target) exitWith {false}; -!alive _target +!alive _target || _target getVariable ["ACE_isUnconscious", false] diff --git a/addons/dogtags/functions/fnc_canTakeDogtag.sqf b/addons/dogtags/functions/fnc_canTakeDogtag.sqf index f017f75c546..8414e35c310 100644 --- a/addons/dogtags/functions/fnc_canTakeDogtag.sqf +++ b/addons/dogtags/functions/fnc_canTakeDogtag.sqf @@ -1,5 +1,5 @@ /* - * Author: SzwedzikPl + * Author: SzwedzikPL * Checks if dogtag can be taken. * * Arguments: @@ -15,6 +15,6 @@ params ["_player", "_target"]; -if(isNull _target) exitWith {false}; +if (isNull _target) exitWith {false}; -!alive _target +!alive _target || _target getVariable ["ACE_isUnconscious", false] diff --git a/addons/dogtags/functions/fnc_checkDogtag.sqf b/addons/dogtags/functions/fnc_checkDogtag.sqf index 93dab639adf..bfd78e263c1 100644 --- a/addons/dogtags/functions/fnc_checkDogtag.sqf +++ b/addons/dogtags/functions/fnc_checkDogtag.sqf @@ -1,5 +1,5 @@ /* - * Author: SzwedzikPl + * Author: SzwedzikPL * Checks unit dogtag * * Arguments: @@ -15,9 +15,6 @@ params ["_player", "_target"]; -if(_target getVariable [QGVAR(dogtagTaken), false]) then { - [localize LSTRING(noDogtag)] call EFUNC(common,displayText); -} else { - private _nickname = [_target, false, true] call EFUNC(common,getName); - [QGVAR(showDogtag), [_nickname]] call EFUNC(common,localEvent); -}; +private _doubleTags = !(_target getVariable [QGVAR(dogtagTaken), false]); +private _nickname = [_target, false, true] call EFUNC(common,getName); +[QGVAR(showDogtag), [_nickname, _doubleTags]] call EFUNC(common,localEvent); diff --git a/addons/dogtags/functions/fnc_checkDogtagItem.sqf b/addons/dogtags/functions/fnc_checkDogtagItem.sqf index c67fd7d7990..786874dc656 100644 --- a/addons/dogtags/functions/fnc_checkDogtagItem.sqf +++ b/addons/dogtags/functions/fnc_checkDogtagItem.sqf @@ -1,5 +1,5 @@ /* - * Author: SzwedzikPl + * Author: SzwedzikPL * Check dogtag self menu action * * Arguments: diff --git a/addons/dogtags/functions/fnc_getDogtagItem.sqf b/addons/dogtags/functions/fnc_getDogtagItem.sqf index ce0a49a8bb1..30e0584f7b3 100644 --- a/addons/dogtags/functions/fnc_getDogtagItem.sqf +++ b/addons/dogtags/functions/fnc_getDogtagItem.sqf @@ -1,5 +1,5 @@ /* - * Author: SzwedzikPl + * Author: SzwedzikPL * Server: creates new dogtag item and send it to client * * Arguments: @@ -18,23 +18,23 @@ if(!isServer) exitWith {}; params ["_target", "_unit"]; TRACE_2("getDogtagItem",_target,_unit); -private _allDogtags = missionNameSpace getVariable [QGVAR(allDogtags), []]; -private _allDogtagNicknames = missionNameSpace getVariable [QGVAR(allDogtagNicknames), []]; +private _allDogtags = missionNamespace getVariable [QGVAR(allDogtags), []]; +private _allDogtagNicknames = missionNamespace getVariable [QGVAR(allDogtagNicknames), []]; private _nextID = count _allDogtags + 1; -if(_nextID > 999) exitWith {}; +if (_nextID > 999) exitWith {}; private _nickname = [_unit, false, true] call EFUNC(common,getName); private _item = format ["ACE_dogtag_%1", _nextID]; _allDogtags pushBack _item; _allDogtagNicknames pushBack _nickname; -missionNameSpace setVariable [QGVAR(allDogtags), _allDogtags]; -missionNameSpace setVariable [QGVAR(allDogtagNicknames), _allDogtagNicknames]; +missionNamespace setVariable [QGVAR(allDogtags), _allDogtags]; +missionNamespace setVariable [QGVAR(allDogtagNicknames), _allDogtagNicknames]; if(isMultiplayer) then { - [QGVAR(addDogtagItem), [_target], [_item]] call EFUNC(common,targetEvent); + [QGVAR(addDogtagItem), [_target], [_item, _nickname]] call EFUNC(common,targetEvent); } else { [QGVAR(addDogtagItem), [_item, _nickname]] call EFUNC(common,localEvent); }; diff --git a/addons/dogtags/functions/fnc_sendDogtagData.sqf b/addons/dogtags/functions/fnc_sendDogtagData.sqf index 4294844c319..9cb2efdd5d0 100644 --- a/addons/dogtags/functions/fnc_sendDogtagData.sqf +++ b/addons/dogtags/functions/fnc_sendDogtagData.sqf @@ -1,5 +1,5 @@ /* - * Author: SzwedzikPl + * Author: SzwedzikPL * Server: returns to client nickname on given dogtag * * Arguments: @@ -23,7 +23,7 @@ private _allDogtagNicknames = missionNameSpace getVariable [QGVAR(allDogtagNickn private _nickname = ""; private _index = _allDogtags find _item; -if(_index >= 0) then { +if (_index >= 0) then { _nickname = _allDogtagNicknames select _index; }; diff --git a/addons/dogtags/functions/fnc_showDogtag.sqf b/addons/dogtags/functions/fnc_showDogtag.sqf index 667aeb2593a..1c79728840b 100644 --- a/addons/dogtags/functions/fnc_showDogtag.sqf +++ b/addons/dogtags/functions/fnc_showDogtag.sqf @@ -14,12 +14,15 @@ disableSerialization; -params ["_nickname"]; +params ["_nickname", ["_doubleTags", false, [false]]]; -if(!hasInterface || {_nickname == ""}) exitWith {}; - -(QGVAR(tag) call BIS_fnc_rscLayer) cutRsc [QGVAR(tag), "PLAIN", 1, true]; +if (!hasInterface || {_nickname == ""}) exitWith {}; +if (_doubleTags) then { + (QGVAR(tag) call BIS_fnc_rscLayer) cutRsc [QGVAR(doubleTag), "PLAIN", 1, true]; +} else { + (QGVAR(tag) call BIS_fnc_rscLayer) cutRsc [QGVAR(singleTag), "PLAIN", 1, true]; +}; private _display = uiNamespace getvariable [QGVAR(tag), displayNull]; if(isNull _display) exitWith {}; diff --git a/addons/dogtags/functions/fnc_takeDogtag.sqf b/addons/dogtags/functions/fnc_takeDogtag.sqf index 2d4e352f247..25a5b333896 100644 --- a/addons/dogtags/functions/fnc_takeDogtag.sqf +++ b/addons/dogtags/functions/fnc_takeDogtag.sqf @@ -1,5 +1,5 @@ /* - * Author: SzwedzikPl + * Author: SzwedzikPL * If dogtag is not already taken triggers event on server * If dogtag already taken displays info about it * @@ -16,7 +16,7 @@ params ["_player", "_target"]; -if(_target getVariable [QGVAR(dogtagTaken), false]) then { +if (_target getVariable [QGVAR(dogtagTaken), false]) then { [localize LSTRING(dogtagAlreadyTaken)] call EFUNC(common,displayText); } else { _target setVariable [QGVAR(dogtagTaken), true, true]; diff --git a/addons/dogtags/stringtable.xml b/addons/dogtags/stringtable.xml index 60bbdf508ea..3e946c5ec0c 100644 --- a/addons/dogtags/stringtable.xml +++ b/addons/dogtags/stringtable.xml @@ -3,87 +3,27 @@ Dog Tag - - - Nieśmiertelnik - - - - - Check Dog Tag - - - Sprawdź nieśmiertelnik - - - - - Check - - - Sprawdź - - - - - Take - - - Zabierz - - - - - Dogtag taken from %1... - - - Zabrałeś nieśmiertelnik %1... - - - - - - - - I can't seem to find his dogtag! - - - - Brak nieśmiertelnika - - - - - Somebody else has already taken the dogtag... - - - Ktoś już zabrał ten nieśmiertelnik... - - - - - \ No newline at end of file From 174e69c3a565ff69709b07e12bd4dbfee39e5336 Mon Sep 17 00:00:00 2001 From: SzwedzikPL Date: Wed, 23 Mar 2016 17:33:08 +0100 Subject: [PATCH 03/19] move dogtag macros to CfgWeapons --- addons/dogtags/CfgWeapons.hpp | 1011 +++++++++++++++++++++++++- addons/dogtags/script_component.hpp | 1012 --------------------------- 2 files changed, 1010 insertions(+), 1013 deletions(-) diff --git a/addons/dogtags/CfgWeapons.hpp b/addons/dogtags/CfgWeapons.hpp index b1e6e780f9c..4ef8e9b7ec4 100644 --- a/addons/dogtags/CfgWeapons.hpp +++ b/addons/dogtags/CfgWeapons.hpp @@ -1,3 +1,13 @@ +#define ACE_DOGTAG_ITEM(DOGTAGBASE,DOGTAGID) \ + class DOGTAGBASE##_##DOGTAGID : DOGTAGBASE { \ + author = ECSTRING(common,ACETeam); \ + scope = 1; \ + scopeArsenal = 0; \ + scopeCurator = 0; \ + descriptionShort = QUOTE(DOGTAGID); \ + GVAR(tagID) = DOGTAGID; \ + } + class CfgWeapons { class ACE_ItemCore; class InventoryItem_Base_F; @@ -12,5 +22,1004 @@ class CfgWeapons { mass = 0; //too small to for 1 ? }; }; - ACE_DOGTAGS(ACE_dogtag) + ACE_DOGTAG_ITEM(ACE_dogtag,1); + ACE_DOGTAG_ITEM(ACE_dogtag,2); + ACE_DOGTAG_ITEM(ACE_dogtag,3); + ACE_DOGTAG_ITEM(ACE_dogtag,4); + ACE_DOGTAG_ITEM(ACE_dogtag,5); + ACE_DOGTAG_ITEM(ACE_dogtag,6); + ACE_DOGTAG_ITEM(ACE_dogtag,7); + ACE_DOGTAG_ITEM(ACE_dogtag,8); + ACE_DOGTAG_ITEM(ACE_dogtag,9); + ACE_DOGTAG_ITEM(ACE_dogtag,10); + ACE_DOGTAG_ITEM(ACE_dogtag,11); + ACE_DOGTAG_ITEM(ACE_dogtag,12); + ACE_DOGTAG_ITEM(ACE_dogtag,13); + ACE_DOGTAG_ITEM(ACE_dogtag,14); + ACE_DOGTAG_ITEM(ACE_dogtag,15); + ACE_DOGTAG_ITEM(ACE_dogtag,16); + ACE_DOGTAG_ITEM(ACE_dogtag,17); + ACE_DOGTAG_ITEM(ACE_dogtag,18); + ACE_DOGTAG_ITEM(ACE_dogtag,19); + ACE_DOGTAG_ITEM(ACE_dogtag,20); + ACE_DOGTAG_ITEM(ACE_dogtag,21); + ACE_DOGTAG_ITEM(ACE_dogtag,22); + ACE_DOGTAG_ITEM(ACE_dogtag,23); + ACE_DOGTAG_ITEM(ACE_dogtag,24); + ACE_DOGTAG_ITEM(ACE_dogtag,25); + ACE_DOGTAG_ITEM(ACE_dogtag,26); + ACE_DOGTAG_ITEM(ACE_dogtag,27); + ACE_DOGTAG_ITEM(ACE_dogtag,28); + ACE_DOGTAG_ITEM(ACE_dogtag,29); + ACE_DOGTAG_ITEM(ACE_dogtag,30); + ACE_DOGTAG_ITEM(ACE_dogtag,31); + ACE_DOGTAG_ITEM(ACE_dogtag,32); + ACE_DOGTAG_ITEM(ACE_dogtag,33); + ACE_DOGTAG_ITEM(ACE_dogtag,34); + ACE_DOGTAG_ITEM(ACE_dogtag,35); + ACE_DOGTAG_ITEM(ACE_dogtag,36); + ACE_DOGTAG_ITEM(ACE_dogtag,37); + ACE_DOGTAG_ITEM(ACE_dogtag,38); + ACE_DOGTAG_ITEM(ACE_dogtag,39); + ACE_DOGTAG_ITEM(ACE_dogtag,40); + ACE_DOGTAG_ITEM(ACE_dogtag,41); + ACE_DOGTAG_ITEM(ACE_dogtag,42); + ACE_DOGTAG_ITEM(ACE_dogtag,43); + ACE_DOGTAG_ITEM(ACE_dogtag,44); + ACE_DOGTAG_ITEM(ACE_dogtag,45); + ACE_DOGTAG_ITEM(ACE_dogtag,46); + ACE_DOGTAG_ITEM(ACE_dogtag,47); + ACE_DOGTAG_ITEM(ACE_dogtag,48); + ACE_DOGTAG_ITEM(ACE_dogtag,49); + ACE_DOGTAG_ITEM(ACE_dogtag,50); + ACE_DOGTAG_ITEM(ACE_dogtag,51); + ACE_DOGTAG_ITEM(ACE_dogtag,52); + ACE_DOGTAG_ITEM(ACE_dogtag,53); + ACE_DOGTAG_ITEM(ACE_dogtag,54); + ACE_DOGTAG_ITEM(ACE_dogtag,55); + ACE_DOGTAG_ITEM(ACE_dogtag,56); + ACE_DOGTAG_ITEM(ACE_dogtag,57); + ACE_DOGTAG_ITEM(ACE_dogtag,58); + ACE_DOGTAG_ITEM(ACE_dogtag,59); + ACE_DOGTAG_ITEM(ACE_dogtag,60); + ACE_DOGTAG_ITEM(ACE_dogtag,61); + ACE_DOGTAG_ITEM(ACE_dogtag,62); + ACE_DOGTAG_ITEM(ACE_dogtag,63); + ACE_DOGTAG_ITEM(ACE_dogtag,64); + ACE_DOGTAG_ITEM(ACE_dogtag,65); + ACE_DOGTAG_ITEM(ACE_dogtag,66); + ACE_DOGTAG_ITEM(ACE_dogtag,67); + ACE_DOGTAG_ITEM(ACE_dogtag,68); + ACE_DOGTAG_ITEM(ACE_dogtag,69); + ACE_DOGTAG_ITEM(ACE_dogtag,70); + ACE_DOGTAG_ITEM(ACE_dogtag,71); + ACE_DOGTAG_ITEM(ACE_dogtag,72); + ACE_DOGTAG_ITEM(ACE_dogtag,73); + ACE_DOGTAG_ITEM(ACE_dogtag,74); + ACE_DOGTAG_ITEM(ACE_dogtag,75); + ACE_DOGTAG_ITEM(ACE_dogtag,76); + ACE_DOGTAG_ITEM(ACE_dogtag,77); + ACE_DOGTAG_ITEM(ACE_dogtag,78); + ACE_DOGTAG_ITEM(ACE_dogtag,79); + ACE_DOGTAG_ITEM(ACE_dogtag,80); + ACE_DOGTAG_ITEM(ACE_dogtag,81); + ACE_DOGTAG_ITEM(ACE_dogtag,82); + ACE_DOGTAG_ITEM(ACE_dogtag,83); + ACE_DOGTAG_ITEM(ACE_dogtag,84); + ACE_DOGTAG_ITEM(ACE_dogtag,85); + ACE_DOGTAG_ITEM(ACE_dogtag,86); + ACE_DOGTAG_ITEM(ACE_dogtag,87); + ACE_DOGTAG_ITEM(ACE_dogtag,88); + ACE_DOGTAG_ITEM(ACE_dogtag,89); + ACE_DOGTAG_ITEM(ACE_dogtag,90); + ACE_DOGTAG_ITEM(ACE_dogtag,91); + ACE_DOGTAG_ITEM(ACE_dogtag,92); + ACE_DOGTAG_ITEM(ACE_dogtag,93); + ACE_DOGTAG_ITEM(ACE_dogtag,94); + ACE_DOGTAG_ITEM(ACE_dogtag,95); + ACE_DOGTAG_ITEM(ACE_dogtag,96); + ACE_DOGTAG_ITEM(ACE_dogtag,97); + ACE_DOGTAG_ITEM(ACE_dogtag,98); + ACE_DOGTAG_ITEM(ACE_dogtag,99); + ACE_DOGTAG_ITEM(ACE_dogtag,100); + ACE_DOGTAG_ITEM(ACE_dogtag,101); + ACE_DOGTAG_ITEM(ACE_dogtag,102); + ACE_DOGTAG_ITEM(ACE_dogtag,103); + ACE_DOGTAG_ITEM(ACE_dogtag,104); + ACE_DOGTAG_ITEM(ACE_dogtag,105); + ACE_DOGTAG_ITEM(ACE_dogtag,106); + ACE_DOGTAG_ITEM(ACE_dogtag,107); + ACE_DOGTAG_ITEM(ACE_dogtag,108); + ACE_DOGTAG_ITEM(ACE_dogtag,109); + ACE_DOGTAG_ITEM(ACE_dogtag,110); + ACE_DOGTAG_ITEM(ACE_dogtag,111); + ACE_DOGTAG_ITEM(ACE_dogtag,112); + ACE_DOGTAG_ITEM(ACE_dogtag,113); + ACE_DOGTAG_ITEM(ACE_dogtag,114); + ACE_DOGTAG_ITEM(ACE_dogtag,115); + ACE_DOGTAG_ITEM(ACE_dogtag,116); + ACE_DOGTAG_ITEM(ACE_dogtag,117); + ACE_DOGTAG_ITEM(ACE_dogtag,118); + ACE_DOGTAG_ITEM(ACE_dogtag,119); + ACE_DOGTAG_ITEM(ACE_dogtag,120); + ACE_DOGTAG_ITEM(ACE_dogtag,121); + ACE_DOGTAG_ITEM(ACE_dogtag,122); + ACE_DOGTAG_ITEM(ACE_dogtag,123); + ACE_DOGTAG_ITEM(ACE_dogtag,124); + ACE_DOGTAG_ITEM(ACE_dogtag,125); + ACE_DOGTAG_ITEM(ACE_dogtag,126); + ACE_DOGTAG_ITEM(ACE_dogtag,127); + ACE_DOGTAG_ITEM(ACE_dogtag,128); + ACE_DOGTAG_ITEM(ACE_dogtag,129); + ACE_DOGTAG_ITEM(ACE_dogtag,130); + ACE_DOGTAG_ITEM(ACE_dogtag,131); + ACE_DOGTAG_ITEM(ACE_dogtag,132); + ACE_DOGTAG_ITEM(ACE_dogtag,133); + ACE_DOGTAG_ITEM(ACE_dogtag,134); + ACE_DOGTAG_ITEM(ACE_dogtag,135); + ACE_DOGTAG_ITEM(ACE_dogtag,136); + ACE_DOGTAG_ITEM(ACE_dogtag,137); + ACE_DOGTAG_ITEM(ACE_dogtag,138); + ACE_DOGTAG_ITEM(ACE_dogtag,139); + ACE_DOGTAG_ITEM(ACE_dogtag,140); + ACE_DOGTAG_ITEM(ACE_dogtag,141); + ACE_DOGTAG_ITEM(ACE_dogtag,142); + ACE_DOGTAG_ITEM(ACE_dogtag,143); + ACE_DOGTAG_ITEM(ACE_dogtag,144); + ACE_DOGTAG_ITEM(ACE_dogtag,145); + ACE_DOGTAG_ITEM(ACE_dogtag,146); + ACE_DOGTAG_ITEM(ACE_dogtag,147); + ACE_DOGTAG_ITEM(ACE_dogtag,148); + ACE_DOGTAG_ITEM(ACE_dogtag,149); + ACE_DOGTAG_ITEM(ACE_dogtag,150); + ACE_DOGTAG_ITEM(ACE_dogtag,151); + ACE_DOGTAG_ITEM(ACE_dogtag,152); + ACE_DOGTAG_ITEM(ACE_dogtag,153); + ACE_DOGTAG_ITEM(ACE_dogtag,154); + ACE_DOGTAG_ITEM(ACE_dogtag,155); + ACE_DOGTAG_ITEM(ACE_dogtag,156); + ACE_DOGTAG_ITEM(ACE_dogtag,157); + ACE_DOGTAG_ITEM(ACE_dogtag,158); + ACE_DOGTAG_ITEM(ACE_dogtag,159); + ACE_DOGTAG_ITEM(ACE_dogtag,160); + ACE_DOGTAG_ITEM(ACE_dogtag,161); + ACE_DOGTAG_ITEM(ACE_dogtag,162); + ACE_DOGTAG_ITEM(ACE_dogtag,163); + ACE_DOGTAG_ITEM(ACE_dogtag,164); + ACE_DOGTAG_ITEM(ACE_dogtag,165); + ACE_DOGTAG_ITEM(ACE_dogtag,166); + ACE_DOGTAG_ITEM(ACE_dogtag,167); + ACE_DOGTAG_ITEM(ACE_dogtag,168); + ACE_DOGTAG_ITEM(ACE_dogtag,169); + ACE_DOGTAG_ITEM(ACE_dogtag,170); + ACE_DOGTAG_ITEM(ACE_dogtag,171); + ACE_DOGTAG_ITEM(ACE_dogtag,172); + ACE_DOGTAG_ITEM(ACE_dogtag,173); + ACE_DOGTAG_ITEM(ACE_dogtag,174); + ACE_DOGTAG_ITEM(ACE_dogtag,175); + ACE_DOGTAG_ITEM(ACE_dogtag,176); + ACE_DOGTAG_ITEM(ACE_dogtag,177); + ACE_DOGTAG_ITEM(ACE_dogtag,178); + ACE_DOGTAG_ITEM(ACE_dogtag,179); + ACE_DOGTAG_ITEM(ACE_dogtag,180); + ACE_DOGTAG_ITEM(ACE_dogtag,181); + ACE_DOGTAG_ITEM(ACE_dogtag,182); + ACE_DOGTAG_ITEM(ACE_dogtag,183); + ACE_DOGTAG_ITEM(ACE_dogtag,184); + ACE_DOGTAG_ITEM(ACE_dogtag,185); + ACE_DOGTAG_ITEM(ACE_dogtag,186); + ACE_DOGTAG_ITEM(ACE_dogtag,187); + ACE_DOGTAG_ITEM(ACE_dogtag,188); + ACE_DOGTAG_ITEM(ACE_dogtag,189); + ACE_DOGTAG_ITEM(ACE_dogtag,190); + ACE_DOGTAG_ITEM(ACE_dogtag,191); + ACE_DOGTAG_ITEM(ACE_dogtag,192); + ACE_DOGTAG_ITEM(ACE_dogtag,193); + ACE_DOGTAG_ITEM(ACE_dogtag,194); + ACE_DOGTAG_ITEM(ACE_dogtag,195); + ACE_DOGTAG_ITEM(ACE_dogtag,196); + ACE_DOGTAG_ITEM(ACE_dogtag,197); + ACE_DOGTAG_ITEM(ACE_dogtag,198); + ACE_DOGTAG_ITEM(ACE_dogtag,199); + ACE_DOGTAG_ITEM(ACE_dogtag,200); + ACE_DOGTAG_ITEM(ACE_dogtag,201); + ACE_DOGTAG_ITEM(ACE_dogtag,202); + ACE_DOGTAG_ITEM(ACE_dogtag,203); + ACE_DOGTAG_ITEM(ACE_dogtag,204); + ACE_DOGTAG_ITEM(ACE_dogtag,205); + ACE_DOGTAG_ITEM(ACE_dogtag,206); + ACE_DOGTAG_ITEM(ACE_dogtag,207); + ACE_DOGTAG_ITEM(ACE_dogtag,208); + ACE_DOGTAG_ITEM(ACE_dogtag,209); + ACE_DOGTAG_ITEM(ACE_dogtag,210); + ACE_DOGTAG_ITEM(ACE_dogtag,211); + ACE_DOGTAG_ITEM(ACE_dogtag,212); + ACE_DOGTAG_ITEM(ACE_dogtag,213); + ACE_DOGTAG_ITEM(ACE_dogtag,214); + ACE_DOGTAG_ITEM(ACE_dogtag,215); + ACE_DOGTAG_ITEM(ACE_dogtag,216); + ACE_DOGTAG_ITEM(ACE_dogtag,217); + ACE_DOGTAG_ITEM(ACE_dogtag,218); + ACE_DOGTAG_ITEM(ACE_dogtag,219); + ACE_DOGTAG_ITEM(ACE_dogtag,220); + ACE_DOGTAG_ITEM(ACE_dogtag,221); + ACE_DOGTAG_ITEM(ACE_dogtag,222); + ACE_DOGTAG_ITEM(ACE_dogtag,223); + ACE_DOGTAG_ITEM(ACE_dogtag,224); + ACE_DOGTAG_ITEM(ACE_dogtag,225); + ACE_DOGTAG_ITEM(ACE_dogtag,226); + ACE_DOGTAG_ITEM(ACE_dogtag,227); + ACE_DOGTAG_ITEM(ACE_dogtag,228); + ACE_DOGTAG_ITEM(ACE_dogtag,229); + ACE_DOGTAG_ITEM(ACE_dogtag,230); + ACE_DOGTAG_ITEM(ACE_dogtag,231); + ACE_DOGTAG_ITEM(ACE_dogtag,232); + ACE_DOGTAG_ITEM(ACE_dogtag,233); + ACE_DOGTAG_ITEM(ACE_dogtag,234); + ACE_DOGTAG_ITEM(ACE_dogtag,235); + ACE_DOGTAG_ITEM(ACE_dogtag,236); + ACE_DOGTAG_ITEM(ACE_dogtag,237); + ACE_DOGTAG_ITEM(ACE_dogtag,238); + ACE_DOGTAG_ITEM(ACE_dogtag,239); + ACE_DOGTAG_ITEM(ACE_dogtag,240); + ACE_DOGTAG_ITEM(ACE_dogtag,241); + ACE_DOGTAG_ITEM(ACE_dogtag,242); + ACE_DOGTAG_ITEM(ACE_dogtag,243); + ACE_DOGTAG_ITEM(ACE_dogtag,244); + ACE_DOGTAG_ITEM(ACE_dogtag,245); + ACE_DOGTAG_ITEM(ACE_dogtag,246); + ACE_DOGTAG_ITEM(ACE_dogtag,247); + ACE_DOGTAG_ITEM(ACE_dogtag,248); + ACE_DOGTAG_ITEM(ACE_dogtag,249); + ACE_DOGTAG_ITEM(ACE_dogtag,250); + ACE_DOGTAG_ITEM(ACE_dogtag,251); + ACE_DOGTAG_ITEM(ACE_dogtag,252); + ACE_DOGTAG_ITEM(ACE_dogtag,253); + ACE_DOGTAG_ITEM(ACE_dogtag,254); + ACE_DOGTAG_ITEM(ACE_dogtag,255); + ACE_DOGTAG_ITEM(ACE_dogtag,256); + ACE_DOGTAG_ITEM(ACE_dogtag,257); + ACE_DOGTAG_ITEM(ACE_dogtag,258); + ACE_DOGTAG_ITEM(ACE_dogtag,259); + ACE_DOGTAG_ITEM(ACE_dogtag,260); + ACE_DOGTAG_ITEM(ACE_dogtag,261); + ACE_DOGTAG_ITEM(ACE_dogtag,262); + ACE_DOGTAG_ITEM(ACE_dogtag,263); + ACE_DOGTAG_ITEM(ACE_dogtag,264); + ACE_DOGTAG_ITEM(ACE_dogtag,265); + ACE_DOGTAG_ITEM(ACE_dogtag,266); + ACE_DOGTAG_ITEM(ACE_dogtag,267); + ACE_DOGTAG_ITEM(ACE_dogtag,268); + ACE_DOGTAG_ITEM(ACE_dogtag,269); + ACE_DOGTAG_ITEM(ACE_dogtag,270); + ACE_DOGTAG_ITEM(ACE_dogtag,271); + ACE_DOGTAG_ITEM(ACE_dogtag,272); + ACE_DOGTAG_ITEM(ACE_dogtag,273); + ACE_DOGTAG_ITEM(ACE_dogtag,274); + ACE_DOGTAG_ITEM(ACE_dogtag,275); + ACE_DOGTAG_ITEM(ACE_dogtag,276); + ACE_DOGTAG_ITEM(ACE_dogtag,277); + ACE_DOGTAG_ITEM(ACE_dogtag,278); + ACE_DOGTAG_ITEM(ACE_dogtag,279); + ACE_DOGTAG_ITEM(ACE_dogtag,280); + ACE_DOGTAG_ITEM(ACE_dogtag,281); + ACE_DOGTAG_ITEM(ACE_dogtag,282); + ACE_DOGTAG_ITEM(ACE_dogtag,283); + ACE_DOGTAG_ITEM(ACE_dogtag,284); + ACE_DOGTAG_ITEM(ACE_dogtag,285); + ACE_DOGTAG_ITEM(ACE_dogtag,286); + ACE_DOGTAG_ITEM(ACE_dogtag,287); + ACE_DOGTAG_ITEM(ACE_dogtag,288); + ACE_DOGTAG_ITEM(ACE_dogtag,289); + ACE_DOGTAG_ITEM(ACE_dogtag,290); + ACE_DOGTAG_ITEM(ACE_dogtag,291); + ACE_DOGTAG_ITEM(ACE_dogtag,292); + ACE_DOGTAG_ITEM(ACE_dogtag,293); + ACE_DOGTAG_ITEM(ACE_dogtag,294); + ACE_DOGTAG_ITEM(ACE_dogtag,295); + ACE_DOGTAG_ITEM(ACE_dogtag,296); + ACE_DOGTAG_ITEM(ACE_dogtag,297); + ACE_DOGTAG_ITEM(ACE_dogtag,298); + ACE_DOGTAG_ITEM(ACE_dogtag,299); + ACE_DOGTAG_ITEM(ACE_dogtag,300); + ACE_DOGTAG_ITEM(ACE_dogtag,301); + ACE_DOGTAG_ITEM(ACE_dogtag,302); + ACE_DOGTAG_ITEM(ACE_dogtag,303); + ACE_DOGTAG_ITEM(ACE_dogtag,304); + ACE_DOGTAG_ITEM(ACE_dogtag,305); + ACE_DOGTAG_ITEM(ACE_dogtag,306); + ACE_DOGTAG_ITEM(ACE_dogtag,307); + ACE_DOGTAG_ITEM(ACE_dogtag,308); + ACE_DOGTAG_ITEM(ACE_dogtag,309); + ACE_DOGTAG_ITEM(ACE_dogtag,310); + ACE_DOGTAG_ITEM(ACE_dogtag,311); + ACE_DOGTAG_ITEM(ACE_dogtag,312); + ACE_DOGTAG_ITEM(ACE_dogtag,313); + ACE_DOGTAG_ITEM(ACE_dogtag,314); + ACE_DOGTAG_ITEM(ACE_dogtag,315); + ACE_DOGTAG_ITEM(ACE_dogtag,316); + ACE_DOGTAG_ITEM(ACE_dogtag,317); + ACE_DOGTAG_ITEM(ACE_dogtag,318); + ACE_DOGTAG_ITEM(ACE_dogtag,319); + ACE_DOGTAG_ITEM(ACE_dogtag,320); + ACE_DOGTAG_ITEM(ACE_dogtag,321); + ACE_DOGTAG_ITEM(ACE_dogtag,322); + ACE_DOGTAG_ITEM(ACE_dogtag,323); + ACE_DOGTAG_ITEM(ACE_dogtag,324); + ACE_DOGTAG_ITEM(ACE_dogtag,325); + ACE_DOGTAG_ITEM(ACE_dogtag,326); + ACE_DOGTAG_ITEM(ACE_dogtag,327); + ACE_DOGTAG_ITEM(ACE_dogtag,328); + ACE_DOGTAG_ITEM(ACE_dogtag,329); + ACE_DOGTAG_ITEM(ACE_dogtag,330); + ACE_DOGTAG_ITEM(ACE_dogtag,331); + ACE_DOGTAG_ITEM(ACE_dogtag,332); + ACE_DOGTAG_ITEM(ACE_dogtag,333); + ACE_DOGTAG_ITEM(ACE_dogtag,334); + ACE_DOGTAG_ITEM(ACE_dogtag,335); + ACE_DOGTAG_ITEM(ACE_dogtag,336); + ACE_DOGTAG_ITEM(ACE_dogtag,337); + ACE_DOGTAG_ITEM(ACE_dogtag,338); + ACE_DOGTAG_ITEM(ACE_dogtag,339); + ACE_DOGTAG_ITEM(ACE_dogtag,340); + ACE_DOGTAG_ITEM(ACE_dogtag,341); + ACE_DOGTAG_ITEM(ACE_dogtag,342); + ACE_DOGTAG_ITEM(ACE_dogtag,343); + ACE_DOGTAG_ITEM(ACE_dogtag,344); + ACE_DOGTAG_ITEM(ACE_dogtag,345); + ACE_DOGTAG_ITEM(ACE_dogtag,346); + ACE_DOGTAG_ITEM(ACE_dogtag,347); + ACE_DOGTAG_ITEM(ACE_dogtag,348); + ACE_DOGTAG_ITEM(ACE_dogtag,349); + ACE_DOGTAG_ITEM(ACE_dogtag,350); + ACE_DOGTAG_ITEM(ACE_dogtag,351); + ACE_DOGTAG_ITEM(ACE_dogtag,352); + ACE_DOGTAG_ITEM(ACE_dogtag,353); + ACE_DOGTAG_ITEM(ACE_dogtag,354); + ACE_DOGTAG_ITEM(ACE_dogtag,355); + ACE_DOGTAG_ITEM(ACE_dogtag,356); + ACE_DOGTAG_ITEM(ACE_dogtag,357); + ACE_DOGTAG_ITEM(ACE_dogtag,358); + ACE_DOGTAG_ITEM(ACE_dogtag,359); + ACE_DOGTAG_ITEM(ACE_dogtag,360); + ACE_DOGTAG_ITEM(ACE_dogtag,361); + ACE_DOGTAG_ITEM(ACE_dogtag,362); + ACE_DOGTAG_ITEM(ACE_dogtag,363); + ACE_DOGTAG_ITEM(ACE_dogtag,364); + ACE_DOGTAG_ITEM(ACE_dogtag,365); + ACE_DOGTAG_ITEM(ACE_dogtag,366); + ACE_DOGTAG_ITEM(ACE_dogtag,367); + ACE_DOGTAG_ITEM(ACE_dogtag,368); + ACE_DOGTAG_ITEM(ACE_dogtag,369); + ACE_DOGTAG_ITEM(ACE_dogtag,370); + ACE_DOGTAG_ITEM(ACE_dogtag,371); + ACE_DOGTAG_ITEM(ACE_dogtag,372); + ACE_DOGTAG_ITEM(ACE_dogtag,373); + ACE_DOGTAG_ITEM(ACE_dogtag,374); + ACE_DOGTAG_ITEM(ACE_dogtag,375); + ACE_DOGTAG_ITEM(ACE_dogtag,376); + ACE_DOGTAG_ITEM(ACE_dogtag,377); + ACE_DOGTAG_ITEM(ACE_dogtag,378); + ACE_DOGTAG_ITEM(ACE_dogtag,379); + ACE_DOGTAG_ITEM(ACE_dogtag,380); + ACE_DOGTAG_ITEM(ACE_dogtag,381); + ACE_DOGTAG_ITEM(ACE_dogtag,382); + ACE_DOGTAG_ITEM(ACE_dogtag,383); + ACE_DOGTAG_ITEM(ACE_dogtag,384); + ACE_DOGTAG_ITEM(ACE_dogtag,385); + ACE_DOGTAG_ITEM(ACE_dogtag,386); + ACE_DOGTAG_ITEM(ACE_dogtag,387); + ACE_DOGTAG_ITEM(ACE_dogtag,388); + ACE_DOGTAG_ITEM(ACE_dogtag,389); + ACE_DOGTAG_ITEM(ACE_dogtag,390); + ACE_DOGTAG_ITEM(ACE_dogtag,391); + ACE_DOGTAG_ITEM(ACE_dogtag,392); + ACE_DOGTAG_ITEM(ACE_dogtag,393); + ACE_DOGTAG_ITEM(ACE_dogtag,394); + ACE_DOGTAG_ITEM(ACE_dogtag,395); + ACE_DOGTAG_ITEM(ACE_dogtag,396); + ACE_DOGTAG_ITEM(ACE_dogtag,397); + ACE_DOGTAG_ITEM(ACE_dogtag,398); + ACE_DOGTAG_ITEM(ACE_dogtag,399); + ACE_DOGTAG_ITEM(ACE_dogtag,400); + ACE_DOGTAG_ITEM(ACE_dogtag,401); + ACE_DOGTAG_ITEM(ACE_dogtag,402); + ACE_DOGTAG_ITEM(ACE_dogtag,403); + ACE_DOGTAG_ITEM(ACE_dogtag,404); + ACE_DOGTAG_ITEM(ACE_dogtag,405); + ACE_DOGTAG_ITEM(ACE_dogtag,406); + ACE_DOGTAG_ITEM(ACE_dogtag,407); + ACE_DOGTAG_ITEM(ACE_dogtag,408); + ACE_DOGTAG_ITEM(ACE_dogtag,409); + ACE_DOGTAG_ITEM(ACE_dogtag,410); + ACE_DOGTAG_ITEM(ACE_dogtag,411); + ACE_DOGTAG_ITEM(ACE_dogtag,412); + ACE_DOGTAG_ITEM(ACE_dogtag,413); + ACE_DOGTAG_ITEM(ACE_dogtag,414); + ACE_DOGTAG_ITEM(ACE_dogtag,415); + ACE_DOGTAG_ITEM(ACE_dogtag,416); + ACE_DOGTAG_ITEM(ACE_dogtag,417); + ACE_DOGTAG_ITEM(ACE_dogtag,418); + ACE_DOGTAG_ITEM(ACE_dogtag,419); + ACE_DOGTAG_ITEM(ACE_dogtag,420); + ACE_DOGTAG_ITEM(ACE_dogtag,421); + ACE_DOGTAG_ITEM(ACE_dogtag,422); + ACE_DOGTAG_ITEM(ACE_dogtag,423); + ACE_DOGTAG_ITEM(ACE_dogtag,424); + ACE_DOGTAG_ITEM(ACE_dogtag,425); + ACE_DOGTAG_ITEM(ACE_dogtag,426); + ACE_DOGTAG_ITEM(ACE_dogtag,427); + ACE_DOGTAG_ITEM(ACE_dogtag,428); + ACE_DOGTAG_ITEM(ACE_dogtag,429); + ACE_DOGTAG_ITEM(ACE_dogtag,430); + ACE_DOGTAG_ITEM(ACE_dogtag,431); + ACE_DOGTAG_ITEM(ACE_dogtag,432); + ACE_DOGTAG_ITEM(ACE_dogtag,433); + ACE_DOGTAG_ITEM(ACE_dogtag,434); + ACE_DOGTAG_ITEM(ACE_dogtag,435); + ACE_DOGTAG_ITEM(ACE_dogtag,436); + ACE_DOGTAG_ITEM(ACE_dogtag,437); + ACE_DOGTAG_ITEM(ACE_dogtag,438); + ACE_DOGTAG_ITEM(ACE_dogtag,439); + ACE_DOGTAG_ITEM(ACE_dogtag,440); + ACE_DOGTAG_ITEM(ACE_dogtag,441); + ACE_DOGTAG_ITEM(ACE_dogtag,442); + ACE_DOGTAG_ITEM(ACE_dogtag,443); + ACE_DOGTAG_ITEM(ACE_dogtag,444); + ACE_DOGTAG_ITEM(ACE_dogtag,445); + ACE_DOGTAG_ITEM(ACE_dogtag,446); + ACE_DOGTAG_ITEM(ACE_dogtag,447); + ACE_DOGTAG_ITEM(ACE_dogtag,448); + ACE_DOGTAG_ITEM(ACE_dogtag,449); + ACE_DOGTAG_ITEM(ACE_dogtag,450); + ACE_DOGTAG_ITEM(ACE_dogtag,451); + ACE_DOGTAG_ITEM(ACE_dogtag,452); + ACE_DOGTAG_ITEM(ACE_dogtag,453); + ACE_DOGTAG_ITEM(ACE_dogtag,454); + ACE_DOGTAG_ITEM(ACE_dogtag,455); + ACE_DOGTAG_ITEM(ACE_dogtag,456); + ACE_DOGTAG_ITEM(ACE_dogtag,457); + ACE_DOGTAG_ITEM(ACE_dogtag,458); + ACE_DOGTAG_ITEM(ACE_dogtag,459); + ACE_DOGTAG_ITEM(ACE_dogtag,460); + ACE_DOGTAG_ITEM(ACE_dogtag,461); + ACE_DOGTAG_ITEM(ACE_dogtag,462); + ACE_DOGTAG_ITEM(ACE_dogtag,463); + ACE_DOGTAG_ITEM(ACE_dogtag,464); + ACE_DOGTAG_ITEM(ACE_dogtag,465); + ACE_DOGTAG_ITEM(ACE_dogtag,466); + ACE_DOGTAG_ITEM(ACE_dogtag,467); + ACE_DOGTAG_ITEM(ACE_dogtag,468); + ACE_DOGTAG_ITEM(ACE_dogtag,469); + ACE_DOGTAG_ITEM(ACE_dogtag,470); + ACE_DOGTAG_ITEM(ACE_dogtag,471); + ACE_DOGTAG_ITEM(ACE_dogtag,472); + ACE_DOGTAG_ITEM(ACE_dogtag,473); + ACE_DOGTAG_ITEM(ACE_dogtag,474); + ACE_DOGTAG_ITEM(ACE_dogtag,475); + ACE_DOGTAG_ITEM(ACE_dogtag,476); + ACE_DOGTAG_ITEM(ACE_dogtag,477); + ACE_DOGTAG_ITEM(ACE_dogtag,478); + ACE_DOGTAG_ITEM(ACE_dogtag,479); + ACE_DOGTAG_ITEM(ACE_dogtag,480); + ACE_DOGTAG_ITEM(ACE_dogtag,481); + ACE_DOGTAG_ITEM(ACE_dogtag,482); + ACE_DOGTAG_ITEM(ACE_dogtag,483); + ACE_DOGTAG_ITEM(ACE_dogtag,484); + ACE_DOGTAG_ITEM(ACE_dogtag,485); + ACE_DOGTAG_ITEM(ACE_dogtag,486); + ACE_DOGTAG_ITEM(ACE_dogtag,487); + ACE_DOGTAG_ITEM(ACE_dogtag,488); + ACE_DOGTAG_ITEM(ACE_dogtag,489); + ACE_DOGTAG_ITEM(ACE_dogtag,490); + ACE_DOGTAG_ITEM(ACE_dogtag,491); + ACE_DOGTAG_ITEM(ACE_dogtag,492); + ACE_DOGTAG_ITEM(ACE_dogtag,493); + ACE_DOGTAG_ITEM(ACE_dogtag,494); + ACE_DOGTAG_ITEM(ACE_dogtag,495); + ACE_DOGTAG_ITEM(ACE_dogtag,496); + ACE_DOGTAG_ITEM(ACE_dogtag,497); + ACE_DOGTAG_ITEM(ACE_dogtag,498); + ACE_DOGTAG_ITEM(ACE_dogtag,499); + ACE_DOGTAG_ITEM(ACE_dogtag,500); + ACE_DOGTAG_ITEM(ACE_dogtag,501); + ACE_DOGTAG_ITEM(ACE_dogtag,502); + ACE_DOGTAG_ITEM(ACE_dogtag,503); + ACE_DOGTAG_ITEM(ACE_dogtag,504); + ACE_DOGTAG_ITEM(ACE_dogtag,505); + ACE_DOGTAG_ITEM(ACE_dogtag,506); + ACE_DOGTAG_ITEM(ACE_dogtag,507); + ACE_DOGTAG_ITEM(ACE_dogtag,508); + ACE_DOGTAG_ITEM(ACE_dogtag,509); + ACE_DOGTAG_ITEM(ACE_dogtag,510); + ACE_DOGTAG_ITEM(ACE_dogtag,511); + ACE_DOGTAG_ITEM(ACE_dogtag,512); + ACE_DOGTAG_ITEM(ACE_dogtag,513); + ACE_DOGTAG_ITEM(ACE_dogtag,514); + ACE_DOGTAG_ITEM(ACE_dogtag,515); + ACE_DOGTAG_ITEM(ACE_dogtag,516); + ACE_DOGTAG_ITEM(ACE_dogtag,517); + ACE_DOGTAG_ITEM(ACE_dogtag,518); + ACE_DOGTAG_ITEM(ACE_dogtag,519); + ACE_DOGTAG_ITEM(ACE_dogtag,520); + ACE_DOGTAG_ITEM(ACE_dogtag,521); + ACE_DOGTAG_ITEM(ACE_dogtag,522); + ACE_DOGTAG_ITEM(ACE_dogtag,523); + ACE_DOGTAG_ITEM(ACE_dogtag,524); + ACE_DOGTAG_ITEM(ACE_dogtag,525); + ACE_DOGTAG_ITEM(ACE_dogtag,526); + ACE_DOGTAG_ITEM(ACE_dogtag,527); + ACE_DOGTAG_ITEM(ACE_dogtag,528); + ACE_DOGTAG_ITEM(ACE_dogtag,529); + ACE_DOGTAG_ITEM(ACE_dogtag,530); + ACE_DOGTAG_ITEM(ACE_dogtag,531); + ACE_DOGTAG_ITEM(ACE_dogtag,532); + ACE_DOGTAG_ITEM(ACE_dogtag,533); + ACE_DOGTAG_ITEM(ACE_dogtag,534); + ACE_DOGTAG_ITEM(ACE_dogtag,535); + ACE_DOGTAG_ITEM(ACE_dogtag,536); + ACE_DOGTAG_ITEM(ACE_dogtag,537); + ACE_DOGTAG_ITEM(ACE_dogtag,538); + ACE_DOGTAG_ITEM(ACE_dogtag,539); + ACE_DOGTAG_ITEM(ACE_dogtag,540); + ACE_DOGTAG_ITEM(ACE_dogtag,541); + ACE_DOGTAG_ITEM(ACE_dogtag,542); + ACE_DOGTAG_ITEM(ACE_dogtag,543); + ACE_DOGTAG_ITEM(ACE_dogtag,544); + ACE_DOGTAG_ITEM(ACE_dogtag,545); + ACE_DOGTAG_ITEM(ACE_dogtag,546); + ACE_DOGTAG_ITEM(ACE_dogtag,547); + ACE_DOGTAG_ITEM(ACE_dogtag,548); + ACE_DOGTAG_ITEM(ACE_dogtag,549); + ACE_DOGTAG_ITEM(ACE_dogtag,550); + ACE_DOGTAG_ITEM(ACE_dogtag,551); + ACE_DOGTAG_ITEM(ACE_dogtag,552); + ACE_DOGTAG_ITEM(ACE_dogtag,553); + ACE_DOGTAG_ITEM(ACE_dogtag,554); + ACE_DOGTAG_ITEM(ACE_dogtag,555); + ACE_DOGTAG_ITEM(ACE_dogtag,556); + ACE_DOGTAG_ITEM(ACE_dogtag,557); + ACE_DOGTAG_ITEM(ACE_dogtag,558); + ACE_DOGTAG_ITEM(ACE_dogtag,559); + ACE_DOGTAG_ITEM(ACE_dogtag,560); + ACE_DOGTAG_ITEM(ACE_dogtag,561); + ACE_DOGTAG_ITEM(ACE_dogtag,562); + ACE_DOGTAG_ITEM(ACE_dogtag,563); + ACE_DOGTAG_ITEM(ACE_dogtag,564); + ACE_DOGTAG_ITEM(ACE_dogtag,565); + ACE_DOGTAG_ITEM(ACE_dogtag,566); + ACE_DOGTAG_ITEM(ACE_dogtag,567); + ACE_DOGTAG_ITEM(ACE_dogtag,568); + ACE_DOGTAG_ITEM(ACE_dogtag,569); + ACE_DOGTAG_ITEM(ACE_dogtag,570); + ACE_DOGTAG_ITEM(ACE_dogtag,571); + ACE_DOGTAG_ITEM(ACE_dogtag,572); + ACE_DOGTAG_ITEM(ACE_dogtag,573); + ACE_DOGTAG_ITEM(ACE_dogtag,574); + ACE_DOGTAG_ITEM(ACE_dogtag,575); + ACE_DOGTAG_ITEM(ACE_dogtag,576); + ACE_DOGTAG_ITEM(ACE_dogtag,577); + ACE_DOGTAG_ITEM(ACE_dogtag,578); + ACE_DOGTAG_ITEM(ACE_dogtag,579); + ACE_DOGTAG_ITEM(ACE_dogtag,580); + ACE_DOGTAG_ITEM(ACE_dogtag,581); + ACE_DOGTAG_ITEM(ACE_dogtag,582); + ACE_DOGTAG_ITEM(ACE_dogtag,583); + ACE_DOGTAG_ITEM(ACE_dogtag,584); + ACE_DOGTAG_ITEM(ACE_dogtag,585); + ACE_DOGTAG_ITEM(ACE_dogtag,586); + ACE_DOGTAG_ITEM(ACE_dogtag,587); + ACE_DOGTAG_ITEM(ACE_dogtag,588); + ACE_DOGTAG_ITEM(ACE_dogtag,589); + ACE_DOGTAG_ITEM(ACE_dogtag,590); + ACE_DOGTAG_ITEM(ACE_dogtag,591); + ACE_DOGTAG_ITEM(ACE_dogtag,592); + ACE_DOGTAG_ITEM(ACE_dogtag,593); + ACE_DOGTAG_ITEM(ACE_dogtag,594); + ACE_DOGTAG_ITEM(ACE_dogtag,595); + ACE_DOGTAG_ITEM(ACE_dogtag,596); + ACE_DOGTAG_ITEM(ACE_dogtag,597); + ACE_DOGTAG_ITEM(ACE_dogtag,598); + ACE_DOGTAG_ITEM(ACE_dogtag,599); + ACE_DOGTAG_ITEM(ACE_dogtag,600); + ACE_DOGTAG_ITEM(ACE_dogtag,601); + ACE_DOGTAG_ITEM(ACE_dogtag,602); + ACE_DOGTAG_ITEM(ACE_dogtag,603); + ACE_DOGTAG_ITEM(ACE_dogtag,604); + ACE_DOGTAG_ITEM(ACE_dogtag,605); + ACE_DOGTAG_ITEM(ACE_dogtag,606); + ACE_DOGTAG_ITEM(ACE_dogtag,607); + ACE_DOGTAG_ITEM(ACE_dogtag,608); + ACE_DOGTAG_ITEM(ACE_dogtag,609); + ACE_DOGTAG_ITEM(ACE_dogtag,610); + ACE_DOGTAG_ITEM(ACE_dogtag,611); + ACE_DOGTAG_ITEM(ACE_dogtag,612); + ACE_DOGTAG_ITEM(ACE_dogtag,613); + ACE_DOGTAG_ITEM(ACE_dogtag,614); + ACE_DOGTAG_ITEM(ACE_dogtag,615); + ACE_DOGTAG_ITEM(ACE_dogtag,616); + ACE_DOGTAG_ITEM(ACE_dogtag,617); + ACE_DOGTAG_ITEM(ACE_dogtag,618); + ACE_DOGTAG_ITEM(ACE_dogtag,619); + ACE_DOGTAG_ITEM(ACE_dogtag,620); + ACE_DOGTAG_ITEM(ACE_dogtag,621); + ACE_DOGTAG_ITEM(ACE_dogtag,622); + ACE_DOGTAG_ITEM(ACE_dogtag,623); + ACE_DOGTAG_ITEM(ACE_dogtag,624); + ACE_DOGTAG_ITEM(ACE_dogtag,625); + ACE_DOGTAG_ITEM(ACE_dogtag,626); + ACE_DOGTAG_ITEM(ACE_dogtag,627); + ACE_DOGTAG_ITEM(ACE_dogtag,628); + ACE_DOGTAG_ITEM(ACE_dogtag,629); + ACE_DOGTAG_ITEM(ACE_dogtag,630); + ACE_DOGTAG_ITEM(ACE_dogtag,631); + ACE_DOGTAG_ITEM(ACE_dogtag,632); + ACE_DOGTAG_ITEM(ACE_dogtag,633); + ACE_DOGTAG_ITEM(ACE_dogtag,634); + ACE_DOGTAG_ITEM(ACE_dogtag,635); + ACE_DOGTAG_ITEM(ACE_dogtag,636); + ACE_DOGTAG_ITEM(ACE_dogtag,637); + ACE_DOGTAG_ITEM(ACE_dogtag,638); + ACE_DOGTAG_ITEM(ACE_dogtag,639); + ACE_DOGTAG_ITEM(ACE_dogtag,640); + ACE_DOGTAG_ITEM(ACE_dogtag,641); + ACE_DOGTAG_ITEM(ACE_dogtag,642); + ACE_DOGTAG_ITEM(ACE_dogtag,643); + ACE_DOGTAG_ITEM(ACE_dogtag,644); + ACE_DOGTAG_ITEM(ACE_dogtag,645); + ACE_DOGTAG_ITEM(ACE_dogtag,646); + ACE_DOGTAG_ITEM(ACE_dogtag,647); + ACE_DOGTAG_ITEM(ACE_dogtag,648); + ACE_DOGTAG_ITEM(ACE_dogtag,649); + ACE_DOGTAG_ITEM(ACE_dogtag,650); + ACE_DOGTAG_ITEM(ACE_dogtag,651); + ACE_DOGTAG_ITEM(ACE_dogtag,652); + ACE_DOGTAG_ITEM(ACE_dogtag,653); + ACE_DOGTAG_ITEM(ACE_dogtag,654); + ACE_DOGTAG_ITEM(ACE_dogtag,655); + ACE_DOGTAG_ITEM(ACE_dogtag,656); + ACE_DOGTAG_ITEM(ACE_dogtag,657); + ACE_DOGTAG_ITEM(ACE_dogtag,658); + ACE_DOGTAG_ITEM(ACE_dogtag,659); + ACE_DOGTAG_ITEM(ACE_dogtag,660); + ACE_DOGTAG_ITEM(ACE_dogtag,661); + ACE_DOGTAG_ITEM(ACE_dogtag,662); + ACE_DOGTAG_ITEM(ACE_dogtag,663); + ACE_DOGTAG_ITEM(ACE_dogtag,664); + ACE_DOGTAG_ITEM(ACE_dogtag,665); + ACE_DOGTAG_ITEM(ACE_dogtag,666); + ACE_DOGTAG_ITEM(ACE_dogtag,667); + ACE_DOGTAG_ITEM(ACE_dogtag,668); + ACE_DOGTAG_ITEM(ACE_dogtag,669); + ACE_DOGTAG_ITEM(ACE_dogtag,670); + ACE_DOGTAG_ITEM(ACE_dogtag,671); + ACE_DOGTAG_ITEM(ACE_dogtag,672); + ACE_DOGTAG_ITEM(ACE_dogtag,673); + ACE_DOGTAG_ITEM(ACE_dogtag,674); + ACE_DOGTAG_ITEM(ACE_dogtag,675); + ACE_DOGTAG_ITEM(ACE_dogtag,676); + ACE_DOGTAG_ITEM(ACE_dogtag,677); + ACE_DOGTAG_ITEM(ACE_dogtag,678); + ACE_DOGTAG_ITEM(ACE_dogtag,679); + ACE_DOGTAG_ITEM(ACE_dogtag,680); + ACE_DOGTAG_ITEM(ACE_dogtag,681); + ACE_DOGTAG_ITEM(ACE_dogtag,682); + ACE_DOGTAG_ITEM(ACE_dogtag,683); + ACE_DOGTAG_ITEM(ACE_dogtag,684); + ACE_DOGTAG_ITEM(ACE_dogtag,685); + ACE_DOGTAG_ITEM(ACE_dogtag,686); + ACE_DOGTAG_ITEM(ACE_dogtag,687); + ACE_DOGTAG_ITEM(ACE_dogtag,688); + ACE_DOGTAG_ITEM(ACE_dogtag,689); + ACE_DOGTAG_ITEM(ACE_dogtag,690); + ACE_DOGTAG_ITEM(ACE_dogtag,691); + ACE_DOGTAG_ITEM(ACE_dogtag,692); + ACE_DOGTAG_ITEM(ACE_dogtag,693); + ACE_DOGTAG_ITEM(ACE_dogtag,694); + ACE_DOGTAG_ITEM(ACE_dogtag,695); + ACE_DOGTAG_ITEM(ACE_dogtag,696); + ACE_DOGTAG_ITEM(ACE_dogtag,697); + ACE_DOGTAG_ITEM(ACE_dogtag,698); + ACE_DOGTAG_ITEM(ACE_dogtag,699); + ACE_DOGTAG_ITEM(ACE_dogtag,700); + ACE_DOGTAG_ITEM(ACE_dogtag,701); + ACE_DOGTAG_ITEM(ACE_dogtag,702); + ACE_DOGTAG_ITEM(ACE_dogtag,703); + ACE_DOGTAG_ITEM(ACE_dogtag,704); + ACE_DOGTAG_ITEM(ACE_dogtag,705); + ACE_DOGTAG_ITEM(ACE_dogtag,706); + ACE_DOGTAG_ITEM(ACE_dogtag,707); + ACE_DOGTAG_ITEM(ACE_dogtag,708); + ACE_DOGTAG_ITEM(ACE_dogtag,709); + ACE_DOGTAG_ITEM(ACE_dogtag,710); + ACE_DOGTAG_ITEM(ACE_dogtag,711); + ACE_DOGTAG_ITEM(ACE_dogtag,712); + ACE_DOGTAG_ITEM(ACE_dogtag,713); + ACE_DOGTAG_ITEM(ACE_dogtag,714); + ACE_DOGTAG_ITEM(ACE_dogtag,715); + ACE_DOGTAG_ITEM(ACE_dogtag,716); + ACE_DOGTAG_ITEM(ACE_dogtag,717); + ACE_DOGTAG_ITEM(ACE_dogtag,718); + ACE_DOGTAG_ITEM(ACE_dogtag,719); + ACE_DOGTAG_ITEM(ACE_dogtag,720); + ACE_DOGTAG_ITEM(ACE_dogtag,721); + ACE_DOGTAG_ITEM(ACE_dogtag,722); + ACE_DOGTAG_ITEM(ACE_dogtag,723); + ACE_DOGTAG_ITEM(ACE_dogtag,724); + ACE_DOGTAG_ITEM(ACE_dogtag,725); + ACE_DOGTAG_ITEM(ACE_dogtag,726); + ACE_DOGTAG_ITEM(ACE_dogtag,727); + ACE_DOGTAG_ITEM(ACE_dogtag,728); + ACE_DOGTAG_ITEM(ACE_dogtag,729); + ACE_DOGTAG_ITEM(ACE_dogtag,730); + ACE_DOGTAG_ITEM(ACE_dogtag,731); + ACE_DOGTAG_ITEM(ACE_dogtag,732); + ACE_DOGTAG_ITEM(ACE_dogtag,733); + ACE_DOGTAG_ITEM(ACE_dogtag,734); + ACE_DOGTAG_ITEM(ACE_dogtag,735); + ACE_DOGTAG_ITEM(ACE_dogtag,736); + ACE_DOGTAG_ITEM(ACE_dogtag,737); + ACE_DOGTAG_ITEM(ACE_dogtag,738); + ACE_DOGTAG_ITEM(ACE_dogtag,739); + ACE_DOGTAG_ITEM(ACE_dogtag,740); + ACE_DOGTAG_ITEM(ACE_dogtag,741); + ACE_DOGTAG_ITEM(ACE_dogtag,742); + ACE_DOGTAG_ITEM(ACE_dogtag,743); + ACE_DOGTAG_ITEM(ACE_dogtag,744); + ACE_DOGTAG_ITEM(ACE_dogtag,745); + ACE_DOGTAG_ITEM(ACE_dogtag,746); + ACE_DOGTAG_ITEM(ACE_dogtag,747); + ACE_DOGTAG_ITEM(ACE_dogtag,748); + ACE_DOGTAG_ITEM(ACE_dogtag,749); + ACE_DOGTAG_ITEM(ACE_dogtag,750); + ACE_DOGTAG_ITEM(ACE_dogtag,751); + ACE_DOGTAG_ITEM(ACE_dogtag,752); + ACE_DOGTAG_ITEM(ACE_dogtag,753); + ACE_DOGTAG_ITEM(ACE_dogtag,754); + ACE_DOGTAG_ITEM(ACE_dogtag,755); + ACE_DOGTAG_ITEM(ACE_dogtag,756); + ACE_DOGTAG_ITEM(ACE_dogtag,757); + ACE_DOGTAG_ITEM(ACE_dogtag,758); + ACE_DOGTAG_ITEM(ACE_dogtag,759); + ACE_DOGTAG_ITEM(ACE_dogtag,760); + ACE_DOGTAG_ITEM(ACE_dogtag,761); + ACE_DOGTAG_ITEM(ACE_dogtag,762); + ACE_DOGTAG_ITEM(ACE_dogtag,763); + ACE_DOGTAG_ITEM(ACE_dogtag,764); + ACE_DOGTAG_ITEM(ACE_dogtag,765); + ACE_DOGTAG_ITEM(ACE_dogtag,766); + ACE_DOGTAG_ITEM(ACE_dogtag,767); + ACE_DOGTAG_ITEM(ACE_dogtag,768); + ACE_DOGTAG_ITEM(ACE_dogtag,769); + ACE_DOGTAG_ITEM(ACE_dogtag,770); + ACE_DOGTAG_ITEM(ACE_dogtag,771); + ACE_DOGTAG_ITEM(ACE_dogtag,772); + ACE_DOGTAG_ITEM(ACE_dogtag,773); + ACE_DOGTAG_ITEM(ACE_dogtag,774); + ACE_DOGTAG_ITEM(ACE_dogtag,775); + ACE_DOGTAG_ITEM(ACE_dogtag,776); + ACE_DOGTAG_ITEM(ACE_dogtag,777); + ACE_DOGTAG_ITEM(ACE_dogtag,778); + ACE_DOGTAG_ITEM(ACE_dogtag,779); + ACE_DOGTAG_ITEM(ACE_dogtag,780); + ACE_DOGTAG_ITEM(ACE_dogtag,781); + ACE_DOGTAG_ITEM(ACE_dogtag,782); + ACE_DOGTAG_ITEM(ACE_dogtag,783); + ACE_DOGTAG_ITEM(ACE_dogtag,784); + ACE_DOGTAG_ITEM(ACE_dogtag,785); + ACE_DOGTAG_ITEM(ACE_dogtag,786); + ACE_DOGTAG_ITEM(ACE_dogtag,787); + ACE_DOGTAG_ITEM(ACE_dogtag,788); + ACE_DOGTAG_ITEM(ACE_dogtag,789); + ACE_DOGTAG_ITEM(ACE_dogtag,790); + ACE_DOGTAG_ITEM(ACE_dogtag,791); + ACE_DOGTAG_ITEM(ACE_dogtag,792); + ACE_DOGTAG_ITEM(ACE_dogtag,793); + ACE_DOGTAG_ITEM(ACE_dogtag,794); + ACE_DOGTAG_ITEM(ACE_dogtag,795); + ACE_DOGTAG_ITEM(ACE_dogtag,796); + ACE_DOGTAG_ITEM(ACE_dogtag,797); + ACE_DOGTAG_ITEM(ACE_dogtag,798); + ACE_DOGTAG_ITEM(ACE_dogtag,799); + ACE_DOGTAG_ITEM(ACE_dogtag,800); + ACE_DOGTAG_ITEM(ACE_dogtag,801); + ACE_DOGTAG_ITEM(ACE_dogtag,802); + ACE_DOGTAG_ITEM(ACE_dogtag,803); + ACE_DOGTAG_ITEM(ACE_dogtag,804); + ACE_DOGTAG_ITEM(ACE_dogtag,805); + ACE_DOGTAG_ITEM(ACE_dogtag,806); + ACE_DOGTAG_ITEM(ACE_dogtag,807); + ACE_DOGTAG_ITEM(ACE_dogtag,808); + ACE_DOGTAG_ITEM(ACE_dogtag,809); + ACE_DOGTAG_ITEM(ACE_dogtag,810); + ACE_DOGTAG_ITEM(ACE_dogtag,811); + ACE_DOGTAG_ITEM(ACE_dogtag,812); + ACE_DOGTAG_ITEM(ACE_dogtag,813); + ACE_DOGTAG_ITEM(ACE_dogtag,814); + ACE_DOGTAG_ITEM(ACE_dogtag,815); + ACE_DOGTAG_ITEM(ACE_dogtag,816); + ACE_DOGTAG_ITEM(ACE_dogtag,817); + ACE_DOGTAG_ITEM(ACE_dogtag,818); + ACE_DOGTAG_ITEM(ACE_dogtag,819); + ACE_DOGTAG_ITEM(ACE_dogtag,820); + ACE_DOGTAG_ITEM(ACE_dogtag,821); + ACE_DOGTAG_ITEM(ACE_dogtag,822); + ACE_DOGTAG_ITEM(ACE_dogtag,823); + ACE_DOGTAG_ITEM(ACE_dogtag,824); + ACE_DOGTAG_ITEM(ACE_dogtag,825); + ACE_DOGTAG_ITEM(ACE_dogtag,826); + ACE_DOGTAG_ITEM(ACE_dogtag,827); + ACE_DOGTAG_ITEM(ACE_dogtag,828); + ACE_DOGTAG_ITEM(ACE_dogtag,829); + ACE_DOGTAG_ITEM(ACE_dogtag,830); + ACE_DOGTAG_ITEM(ACE_dogtag,831); + ACE_DOGTAG_ITEM(ACE_dogtag,832); + ACE_DOGTAG_ITEM(ACE_dogtag,833); + ACE_DOGTAG_ITEM(ACE_dogtag,834); + ACE_DOGTAG_ITEM(ACE_dogtag,835); + ACE_DOGTAG_ITEM(ACE_dogtag,836); + ACE_DOGTAG_ITEM(ACE_dogtag,837); + ACE_DOGTAG_ITEM(ACE_dogtag,838); + ACE_DOGTAG_ITEM(ACE_dogtag,839); + ACE_DOGTAG_ITEM(ACE_dogtag,840); + ACE_DOGTAG_ITEM(ACE_dogtag,841); + ACE_DOGTAG_ITEM(ACE_dogtag,842); + ACE_DOGTAG_ITEM(ACE_dogtag,843); + ACE_DOGTAG_ITEM(ACE_dogtag,844); + ACE_DOGTAG_ITEM(ACE_dogtag,845); + ACE_DOGTAG_ITEM(ACE_dogtag,846); + ACE_DOGTAG_ITEM(ACE_dogtag,847); + ACE_DOGTAG_ITEM(ACE_dogtag,848); + ACE_DOGTAG_ITEM(ACE_dogtag,849); + ACE_DOGTAG_ITEM(ACE_dogtag,850); + ACE_DOGTAG_ITEM(ACE_dogtag,851); + ACE_DOGTAG_ITEM(ACE_dogtag,852); + ACE_DOGTAG_ITEM(ACE_dogtag,853); + ACE_DOGTAG_ITEM(ACE_dogtag,854); + ACE_DOGTAG_ITEM(ACE_dogtag,855); + ACE_DOGTAG_ITEM(ACE_dogtag,856); + ACE_DOGTAG_ITEM(ACE_dogtag,857); + ACE_DOGTAG_ITEM(ACE_dogtag,858); + ACE_DOGTAG_ITEM(ACE_dogtag,859); + ACE_DOGTAG_ITEM(ACE_dogtag,860); + ACE_DOGTAG_ITEM(ACE_dogtag,861); + ACE_DOGTAG_ITEM(ACE_dogtag,862); + ACE_DOGTAG_ITEM(ACE_dogtag,863); + ACE_DOGTAG_ITEM(ACE_dogtag,864); + ACE_DOGTAG_ITEM(ACE_dogtag,865); + ACE_DOGTAG_ITEM(ACE_dogtag,866); + ACE_DOGTAG_ITEM(ACE_dogtag,867); + ACE_DOGTAG_ITEM(ACE_dogtag,868); + ACE_DOGTAG_ITEM(ACE_dogtag,869); + ACE_DOGTAG_ITEM(ACE_dogtag,870); + ACE_DOGTAG_ITEM(ACE_dogtag,871); + ACE_DOGTAG_ITEM(ACE_dogtag,872); + ACE_DOGTAG_ITEM(ACE_dogtag,873); + ACE_DOGTAG_ITEM(ACE_dogtag,874); + ACE_DOGTAG_ITEM(ACE_dogtag,875); + ACE_DOGTAG_ITEM(ACE_dogtag,876); + ACE_DOGTAG_ITEM(ACE_dogtag,877); + ACE_DOGTAG_ITEM(ACE_dogtag,878); + ACE_DOGTAG_ITEM(ACE_dogtag,879); + ACE_DOGTAG_ITEM(ACE_dogtag,880); + ACE_DOGTAG_ITEM(ACE_dogtag,881); + ACE_DOGTAG_ITEM(ACE_dogtag,882); + ACE_DOGTAG_ITEM(ACE_dogtag,883); + ACE_DOGTAG_ITEM(ACE_dogtag,884); + ACE_DOGTAG_ITEM(ACE_dogtag,885); + ACE_DOGTAG_ITEM(ACE_dogtag,886); + ACE_DOGTAG_ITEM(ACE_dogtag,887); + ACE_DOGTAG_ITEM(ACE_dogtag,888); + ACE_DOGTAG_ITEM(ACE_dogtag,889); + ACE_DOGTAG_ITEM(ACE_dogtag,890); + ACE_DOGTAG_ITEM(ACE_dogtag,891); + ACE_DOGTAG_ITEM(ACE_dogtag,892); + ACE_DOGTAG_ITEM(ACE_dogtag,893); + ACE_DOGTAG_ITEM(ACE_dogtag,894); + ACE_DOGTAG_ITEM(ACE_dogtag,895); + ACE_DOGTAG_ITEM(ACE_dogtag,896); + ACE_DOGTAG_ITEM(ACE_dogtag,897); + ACE_DOGTAG_ITEM(ACE_dogtag,898); + ACE_DOGTAG_ITEM(ACE_dogtag,899); + ACE_DOGTAG_ITEM(ACE_dogtag,900); + ACE_DOGTAG_ITEM(ACE_dogtag,901); + ACE_DOGTAG_ITEM(ACE_dogtag,902); + ACE_DOGTAG_ITEM(ACE_dogtag,903); + ACE_DOGTAG_ITEM(ACE_dogtag,904); + ACE_DOGTAG_ITEM(ACE_dogtag,905); + ACE_DOGTAG_ITEM(ACE_dogtag,906); + ACE_DOGTAG_ITEM(ACE_dogtag,907); + ACE_DOGTAG_ITEM(ACE_dogtag,908); + ACE_DOGTAG_ITEM(ACE_dogtag,909); + ACE_DOGTAG_ITEM(ACE_dogtag,910); + ACE_DOGTAG_ITEM(ACE_dogtag,911); + ACE_DOGTAG_ITEM(ACE_dogtag,912); + ACE_DOGTAG_ITEM(ACE_dogtag,913); + ACE_DOGTAG_ITEM(ACE_dogtag,914); + ACE_DOGTAG_ITEM(ACE_dogtag,915); + ACE_DOGTAG_ITEM(ACE_dogtag,916); + ACE_DOGTAG_ITEM(ACE_dogtag,917); + ACE_DOGTAG_ITEM(ACE_dogtag,918); + ACE_DOGTAG_ITEM(ACE_dogtag,919); + ACE_DOGTAG_ITEM(ACE_dogtag,920); + ACE_DOGTAG_ITEM(ACE_dogtag,921); + ACE_DOGTAG_ITEM(ACE_dogtag,922); + ACE_DOGTAG_ITEM(ACE_dogtag,923); + ACE_DOGTAG_ITEM(ACE_dogtag,924); + ACE_DOGTAG_ITEM(ACE_dogtag,925); + ACE_DOGTAG_ITEM(ACE_dogtag,926); + ACE_DOGTAG_ITEM(ACE_dogtag,927); + ACE_DOGTAG_ITEM(ACE_dogtag,928); + ACE_DOGTAG_ITEM(ACE_dogtag,929); + ACE_DOGTAG_ITEM(ACE_dogtag,930); + ACE_DOGTAG_ITEM(ACE_dogtag,931); + ACE_DOGTAG_ITEM(ACE_dogtag,932); + ACE_DOGTAG_ITEM(ACE_dogtag,933); + ACE_DOGTAG_ITEM(ACE_dogtag,934); + ACE_DOGTAG_ITEM(ACE_dogtag,935); + ACE_DOGTAG_ITEM(ACE_dogtag,936); + ACE_DOGTAG_ITEM(ACE_dogtag,937); + ACE_DOGTAG_ITEM(ACE_dogtag,938); + ACE_DOGTAG_ITEM(ACE_dogtag,939); + ACE_DOGTAG_ITEM(ACE_dogtag,940); + ACE_DOGTAG_ITEM(ACE_dogtag,941); + ACE_DOGTAG_ITEM(ACE_dogtag,942); + ACE_DOGTAG_ITEM(ACE_dogtag,943); + ACE_DOGTAG_ITEM(ACE_dogtag,944); + ACE_DOGTAG_ITEM(ACE_dogtag,945); + ACE_DOGTAG_ITEM(ACE_dogtag,946); + ACE_DOGTAG_ITEM(ACE_dogtag,947); + ACE_DOGTAG_ITEM(ACE_dogtag,948); + ACE_DOGTAG_ITEM(ACE_dogtag,949); + ACE_DOGTAG_ITEM(ACE_dogtag,950); + ACE_DOGTAG_ITEM(ACE_dogtag,951); + ACE_DOGTAG_ITEM(ACE_dogtag,952); + ACE_DOGTAG_ITEM(ACE_dogtag,953); + ACE_DOGTAG_ITEM(ACE_dogtag,954); + ACE_DOGTAG_ITEM(ACE_dogtag,955); + ACE_DOGTAG_ITEM(ACE_dogtag,956); + ACE_DOGTAG_ITEM(ACE_dogtag,957); + ACE_DOGTAG_ITEM(ACE_dogtag,958); + ACE_DOGTAG_ITEM(ACE_dogtag,959); + ACE_DOGTAG_ITEM(ACE_dogtag,960); + ACE_DOGTAG_ITEM(ACE_dogtag,961); + ACE_DOGTAG_ITEM(ACE_dogtag,962); + ACE_DOGTAG_ITEM(ACE_dogtag,963); + ACE_DOGTAG_ITEM(ACE_dogtag,964); + ACE_DOGTAG_ITEM(ACE_dogtag,965); + ACE_DOGTAG_ITEM(ACE_dogtag,966); + ACE_DOGTAG_ITEM(ACE_dogtag,967); + ACE_DOGTAG_ITEM(ACE_dogtag,968); + ACE_DOGTAG_ITEM(ACE_dogtag,969); + ACE_DOGTAG_ITEM(ACE_dogtag,970); + ACE_DOGTAG_ITEM(ACE_dogtag,971); + ACE_DOGTAG_ITEM(ACE_dogtag,972); + ACE_DOGTAG_ITEM(ACE_dogtag,973); + ACE_DOGTAG_ITEM(ACE_dogtag,974); + ACE_DOGTAG_ITEM(ACE_dogtag,975); + ACE_DOGTAG_ITEM(ACE_dogtag,976); + ACE_DOGTAG_ITEM(ACE_dogtag,977); + ACE_DOGTAG_ITEM(ACE_dogtag,978); + ACE_DOGTAG_ITEM(ACE_dogtag,979); + ACE_DOGTAG_ITEM(ACE_dogtag,980); + ACE_DOGTAG_ITEM(ACE_dogtag,981); + ACE_DOGTAG_ITEM(ACE_dogtag,982); + ACE_DOGTAG_ITEM(ACE_dogtag,983); + ACE_DOGTAG_ITEM(ACE_dogtag,984); + ACE_DOGTAG_ITEM(ACE_dogtag,985); + ACE_DOGTAG_ITEM(ACE_dogtag,986); + ACE_DOGTAG_ITEM(ACE_dogtag,987); + ACE_DOGTAG_ITEM(ACE_dogtag,988); + ACE_DOGTAG_ITEM(ACE_dogtag,989); + ACE_DOGTAG_ITEM(ACE_dogtag,990); + ACE_DOGTAG_ITEM(ACE_dogtag,991); + ACE_DOGTAG_ITEM(ACE_dogtag,992); + ACE_DOGTAG_ITEM(ACE_dogtag,993); + ACE_DOGTAG_ITEM(ACE_dogtag,994); + ACE_DOGTAG_ITEM(ACE_dogtag,995); + ACE_DOGTAG_ITEM(ACE_dogtag,996); + ACE_DOGTAG_ITEM(ACE_dogtag,997); + ACE_DOGTAG_ITEM(ACE_dogtag,998); + ACE_DOGTAG_ITEM(ACE_dogtag,999); + ACE_DOGTAG_ITEM(ACE_dogtag,1000); }; diff --git a/addons/dogtags/script_component.hpp b/addons/dogtags/script_component.hpp index 6f1e5d776a4..980222c8dab 100644 --- a/addons/dogtags/script_component.hpp +++ b/addons/dogtags/script_component.hpp @@ -15,1015 +15,3 @@ #endif #include "\z\ace\addons\main\script_macros.hpp" - -#define ACE_DOGTAG_CLASS(DOGTAGBASE,DOGTAGID) \ - class DOGTAGBASE##_##DOGTAGID : DOGTAGBASE { \ - author = ECSTRING(common,ACETeam); \ - scope = 1; \ - scopeArsenal = 0; \ - scopeCurator = 0; \ - descriptionShort = QUOTE(DOGTAGID); \ - GVAR(tagID) = DOGTAGID; \ - }; - -#define ACE_DOGTAGS(DOGTAGBASE) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,1) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,2) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,3) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,4) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,5) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,6) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,7) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,8) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,9) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,10) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,11) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,12) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,13) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,14) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,15) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,16) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,17) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,18) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,19) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,20) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,21) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,22) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,23) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,24) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,25) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,26) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,27) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,28) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,29) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,30) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,31) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,32) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,33) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,34) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,35) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,36) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,37) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,38) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,39) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,40) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,41) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,42) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,43) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,44) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,45) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,46) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,47) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,48) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,49) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,50) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,51) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,52) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,53) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,54) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,55) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,56) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,57) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,58) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,59) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,60) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,61) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,62) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,63) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,64) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,65) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,66) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,67) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,68) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,69) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,70) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,71) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,72) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,73) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,74) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,75) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,76) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,77) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,78) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,79) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,80) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,81) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,82) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,83) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,84) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,85) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,86) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,87) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,88) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,89) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,90) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,91) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,92) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,93) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,94) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,95) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,96) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,97) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,98) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,99) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,100) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,101) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,102) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,103) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,104) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,105) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,106) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,107) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,108) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,109) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,110) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,111) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,112) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,113) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,114) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,115) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,116) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,117) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,118) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,119) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,120) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,121) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,122) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,123) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,124) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,125) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,126) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,127) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,128) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,129) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,130) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,131) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,132) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,133) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,134) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,135) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,136) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,137) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,138) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,139) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,140) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,141) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,142) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,143) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,144) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,145) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,146) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,147) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,148) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,149) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,150) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,151) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,152) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,153) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,154) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,155) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,156) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,157) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,158) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,159) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,160) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,161) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,162) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,163) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,164) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,165) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,166) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,167) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,168) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,169) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,170) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,171) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,172) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,173) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,174) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,175) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,176) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,177) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,178) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,179) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,180) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,181) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,182) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,183) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,184) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,185) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,186) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,187) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,188) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,189) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,190) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,191) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,192) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,193) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,194) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,195) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,196) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,197) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,198) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,199) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,200) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,201) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,202) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,203) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,204) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,205) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,206) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,207) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,208) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,209) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,210) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,211) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,212) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,213) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,214) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,215) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,216) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,217) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,218) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,219) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,220) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,221) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,222) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,223) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,224) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,225) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,226) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,227) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,228) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,229) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,230) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,231) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,232) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,233) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,234) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,235) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,236) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,237) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,238) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,239) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,240) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,241) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,242) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,243) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,244) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,245) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,246) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,247) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,248) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,249) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,250) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,251) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,252) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,253) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,254) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,255) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,256) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,257) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,258) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,259) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,260) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,261) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,262) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,263) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,264) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,265) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,266) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,267) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,268) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,269) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,270) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,271) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,272) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,273) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,274) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,275) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,276) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,277) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,278) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,279) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,280) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,281) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,282) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,283) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,284) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,285) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,286) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,287) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,288) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,289) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,290) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,291) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,292) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,293) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,294) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,295) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,296) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,297) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,298) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,299) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,300) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,301) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,302) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,303) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,304) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,305) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,306) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,307) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,308) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,309) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,310) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,311) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,312) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,313) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,314) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,315) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,316) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,317) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,318) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,319) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,320) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,321) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,322) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,323) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,324) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,325) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,326) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,327) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,328) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,329) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,330) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,331) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,332) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,333) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,334) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,335) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,336) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,337) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,338) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,339) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,340) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,341) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,342) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,343) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,344) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,345) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,346) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,347) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,348) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,349) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,350) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,351) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,352) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,353) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,354) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,355) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,356) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,357) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,358) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,359) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,360) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,361) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,362) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,363) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,364) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,365) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,366) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,367) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,368) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,369) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,370) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,371) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,372) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,373) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,374) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,375) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,376) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,377) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,378) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,379) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,380) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,381) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,382) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,383) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,384) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,385) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,386) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,387) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,388) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,389) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,390) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,391) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,392) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,393) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,394) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,395) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,396) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,397) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,398) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,399) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,400) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,401) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,402) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,403) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,404) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,405) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,406) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,407) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,408) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,409) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,410) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,411) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,412) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,413) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,414) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,415) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,416) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,417) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,418) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,419) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,420) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,421) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,422) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,423) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,424) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,425) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,426) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,427) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,428) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,429) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,430) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,431) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,432) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,433) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,434) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,435) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,436) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,437) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,438) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,439) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,440) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,441) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,442) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,443) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,444) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,445) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,446) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,447) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,448) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,449) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,450) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,451) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,452) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,453) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,454) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,455) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,456) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,457) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,458) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,459) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,460) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,461) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,462) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,463) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,464) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,465) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,466) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,467) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,468) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,469) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,470) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,471) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,472) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,473) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,474) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,475) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,476) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,477) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,478) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,479) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,480) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,481) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,482) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,483) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,484) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,485) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,486) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,487) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,488) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,489) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,490) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,491) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,492) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,493) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,494) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,495) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,496) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,497) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,498) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,499) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,500) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,501) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,502) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,503) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,504) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,505) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,506) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,507) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,508) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,509) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,510) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,511) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,512) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,513) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,514) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,515) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,516) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,517) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,518) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,519) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,520) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,521) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,522) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,523) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,524) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,525) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,526) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,527) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,528) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,529) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,530) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,531) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,532) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,533) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,534) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,535) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,536) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,537) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,538) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,539) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,540) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,541) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,542) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,543) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,544) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,545) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,546) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,547) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,548) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,549) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,550) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,551) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,552) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,553) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,554) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,555) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,556) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,557) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,558) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,559) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,560) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,561) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,562) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,563) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,564) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,565) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,566) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,567) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,568) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,569) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,570) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,571) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,572) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,573) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,574) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,575) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,576) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,577) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,578) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,579) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,580) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,581) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,582) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,583) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,584) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,585) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,586) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,587) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,588) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,589) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,590) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,591) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,592) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,593) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,594) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,595) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,596) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,597) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,598) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,599) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,600) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,601) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,602) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,603) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,604) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,605) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,606) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,607) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,608) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,609) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,610) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,611) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,612) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,613) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,614) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,615) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,616) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,617) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,618) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,619) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,620) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,621) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,622) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,623) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,624) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,625) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,626) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,627) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,628) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,629) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,630) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,631) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,632) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,633) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,634) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,635) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,636) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,637) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,638) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,639) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,640) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,641) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,642) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,643) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,644) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,645) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,646) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,647) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,648) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,649) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,650) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,651) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,652) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,653) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,654) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,655) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,656) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,657) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,658) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,659) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,660) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,661) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,662) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,663) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,664) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,665) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,666) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,667) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,668) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,669) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,670) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,671) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,672) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,673) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,674) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,675) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,676) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,677) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,678) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,679) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,680) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,681) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,682) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,683) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,684) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,685) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,686) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,687) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,688) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,689) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,690) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,691) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,692) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,693) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,694) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,695) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,696) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,697) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,698) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,699) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,700) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,701) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,702) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,703) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,704) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,705) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,706) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,707) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,708) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,709) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,710) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,711) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,712) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,713) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,714) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,715) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,716) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,717) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,718) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,719) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,720) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,721) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,722) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,723) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,724) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,725) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,726) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,727) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,728) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,729) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,730) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,731) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,732) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,733) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,734) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,735) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,736) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,737) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,738) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,739) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,740) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,741) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,742) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,743) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,744) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,745) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,746) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,747) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,748) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,749) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,750) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,751) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,752) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,753) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,754) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,755) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,756) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,757) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,758) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,759) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,760) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,761) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,762) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,763) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,764) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,765) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,766) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,767) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,768) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,769) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,770) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,771) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,772) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,773) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,774) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,775) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,776) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,777) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,778) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,779) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,780) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,781) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,782) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,783) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,784) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,785) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,786) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,787) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,788) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,789) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,790) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,791) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,792) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,793) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,794) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,795) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,796) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,797) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,798) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,799) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,800) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,801) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,802) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,803) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,804) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,805) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,806) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,807) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,808) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,809) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,810) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,811) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,812) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,813) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,814) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,815) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,816) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,817) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,818) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,819) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,820) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,821) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,822) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,823) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,824) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,825) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,826) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,827) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,828) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,829) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,830) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,831) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,832) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,833) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,834) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,835) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,836) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,837) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,838) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,839) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,840) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,841) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,842) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,843) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,844) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,845) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,846) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,847) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,848) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,849) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,850) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,851) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,852) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,853) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,854) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,855) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,856) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,857) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,858) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,859) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,860) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,861) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,862) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,863) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,864) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,865) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,866) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,867) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,868) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,869) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,870) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,871) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,872) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,873) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,874) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,875) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,876) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,877) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,878) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,879) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,880) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,881) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,882) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,883) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,884) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,885) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,886) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,887) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,888) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,889) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,890) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,891) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,892) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,893) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,894) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,895) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,896) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,897) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,898) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,899) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,900) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,901) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,902) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,903) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,904) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,905) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,906) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,907) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,908) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,909) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,910) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,911) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,912) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,913) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,914) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,915) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,916) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,917) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,918) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,919) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,920) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,921) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,922) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,923) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,924) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,925) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,926) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,927) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,928) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,929) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,930) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,931) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,932) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,933) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,934) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,935) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,936) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,937) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,938) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,939) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,940) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,941) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,942) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,943) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,944) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,945) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,946) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,947) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,948) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,949) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,950) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,951) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,952) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,953) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,954) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,955) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,956) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,957) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,958) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,959) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,960) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,961) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,962) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,963) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,964) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,965) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,966) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,967) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,968) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,969) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,970) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,971) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,972) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,973) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,974) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,975) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,976) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,977) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,978) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,979) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,980) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,981) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,982) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,983) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,984) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,985) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,986) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,987) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,988) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,989) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,990) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,991) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,992) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,993) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,994) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,995) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,996) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,997) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,998) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,999) \ - ACE_DOGTAG_CLASS(DOGTAGBASE,1000) From 9d4bd0f8ddeed52a13f57f116bab2c5f84e8cd41 Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Thu, 2 Jun 2016 00:59:15 +0200 Subject: [PATCH 04/19] Added custom dogtag model and images --- addons/dogtags/CfgWeapons.hpp | 2 +- addons/dogtags/data/ace_dogtag.p3d | Bin 0 -> 6458 bytes addons/dogtags/data/dogtag.rvmat | 82 +++++++++++++++++++++++++++ addons/dogtags/data/dogtagDouble.paa | Bin 22016 -> 37366 bytes addons/dogtags/data/dogtagSingle.paa | Bin 22016 -> 35107 bytes addons/dogtags/data/dogtag_ca.paa | Bin 0 -> 45953 bytes addons/dogtags/data/dogtag_nohq.paa | Bin 0 -> 40195 bytes addons/dogtags/data/model.cfg | 16 ++++++ 8 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 addons/dogtags/data/ace_dogtag.p3d create mode 100644 addons/dogtags/data/dogtag.rvmat create mode 100644 addons/dogtags/data/dogtag_ca.paa create mode 100644 addons/dogtags/data/dogtag_nohq.paa create mode 100644 addons/dogtags/data/model.cfg diff --git a/addons/dogtags/CfgWeapons.hpp b/addons/dogtags/CfgWeapons.hpp index 4ef8e9b7ec4..5c4e3eca80b 100644 --- a/addons/dogtags/CfgWeapons.hpp +++ b/addons/dogtags/CfgWeapons.hpp @@ -16,7 +16,7 @@ class CfgWeapons { author = ECSTRING(common,ACETeam); scope = 0; displayName = CSTRING(itemName); - model = "\A3\weapons_F\ammo\mag_univ.p3d"; //@todo? + model = QUOTE(PATHTOF(data\ace_dogtag.p3d)); //@todo? //picture = QUOTE(PATHTOF(images\picture.paa)); @todo class ItemInfo: InventoryItem_Base_F { mass = 0; //too small to for 1 ? diff --git a/addons/dogtags/data/ace_dogtag.p3d b/addons/dogtags/data/ace_dogtag.p3d new file mode 100644 index 0000000000000000000000000000000000000000..442a4b462287dc5345ab93e117004879c058ee20 GIT binary patch literal 6458 zcmchbU5Hgx6vy{uHKmhUnpWocakURK`t^Ypz zp7q~roxS$jvts$mMKv|X$e&r&uxQ2oA_2(f<+=|n?fd-$<-XQkeMi>Reg^(@;EVF; z{+IikJuVEMESux=%4V&5-d_Jnx#Rtr5gzgR(egVVEi0RK?)mPS{pCNu`?Wu8clgjh zua}n$wnfj6{xlH0An!UqWG_hA3ljE%guNhPFG$!6;`W%|=#Jw2aL8V{7;ao(V)I*f zcy3@kU*>o2?HLhfem@^w8e!)5Vc(SnVcXFBKDfLlQ2&U%AYm^^*b5T&g19~LR}g=n z*bfr+gSh=KkBu*lyLzhO+O-20D(MFfp6q>N>AStggcmC5*T&bE&K{cD$e2pH{I)Un zo?-RkW9_tusZB^2LoY2{L>tLN7Q%M)!W@COHR+l(tV=*08KXbmb zS8Y|&2Ts@bZth-UV^K-}dRaa@?uS20%)OE>G0kdBC5~B*qr^9>@x{lL{IC5DnM? z$HG}+@RH}b;&@D?;~$C9T3O)leU@{BPioF=s1 zlfYizQlN!5>aY|#Z{QjFO!F$CalDCVqrs+0@YHH~3mRjv>S^39>R9l_4ML+XM?mic zhn<4|sunG(pSv(?_K4YUauY=x2fVmfa5;C6sN=yQ_~RUEvZWA2K6gB%2?7cefZ;DW z)7+iES5&AP^NP^AQY~5p2#=WXbk2nP@&phn#`NXP#eI1^Y3s@GvQTg zgeC7C0%*%zb5LmR&O>{$eeP(ZCR+-$Fi~&qd@EVLBhRXvVsWi_tC(jwOtpBf1a)h* zyoK3mF|%wu(=9$CG*??18H*ilt0rzKc#BVdhBf2%L^ht87Q4-d&FKM)-5zPx#4QC{ zq|OI1VzBoPMNO;4u1vIQ z;+6s}yt4!|-aF7*3ih<1y$o30>XdKmIn4TR3tG#;o)$q|0c@^X5Zf2Fw$^0YUMh6& zXen;$+LjmBV6EmNtYuSl8ujbm z9}9;ToaY(sIsQE6>mNNB89fk1<9wkJjni7&9SyWF8Irnr=s5L{`oa4}=cR{x^^0Gr z(Ta@b=TAgQei2VSnrLC9b~PT#OXscsg3)pM+`mWPt1>Df{5a(q&BMP}cPXC;qj^M$ kPsjN<={WtJj??#Rzt2!LnU-zEl^Yjt-qMxvA7GgO7i9cL=>Px# literal 0 HcmV?d00001 diff --git a/addons/dogtags/data/dogtag.rvmat b/addons/dogtags/data/dogtag.rvmat new file mode 100644 index 00000000000..503e31b68f8 --- /dev/null +++ b/addons/dogtags/data/dogtag.rvmat @@ -0,0 +1,82 @@ +class StageTI { + texture = "a3\data_f\default_glass_ti_ca.paa"; +}; +ambient[] = {1,1,1,1}; +diffuse[] = {1,1,1,1}; +forcedDiffuse[] = {0,0,0,0}; +emmisive[] = {0,0,0,1}; +specular[] = {0.3,0.3,0.3,1}; +specularPower = 50; +PixelShaderID = "Super"; +VertexShaderID = "Super"; +class Stage1 { + texture = "z\ace\addons\dogtags\data\dogtag_nohq.paa"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; +class Stage2 { + texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; +class Stage3 { + texture = "#(argb,8,8,3)color(0,0,0,0,MC)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; +class Stage4 { + texture = "#(argb,8,8,3)color(1,1,1,1,AS)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; +class Stage5 { + texture = "#(argb,8,8,3)color(0,0.6,1,1,SMDI)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; +class Stage6 { + texture = "#(ai,32,128,1)fresnel(0.85,0.36)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; +class Stage7 { + useWorldEnvMap = "true"; + texture = "a3\data_f\env_interier_car_ca.paa"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; diff --git a/addons/dogtags/data/dogtagDouble.paa b/addons/dogtags/data/dogtagDouble.paa index 69c927d9796d7962d47bdfa11974d39c429bfaa7..d325b8c55c154926350aad35909d084c08514419 100644 GIT binary patch literal 37366 zcmeFadt6lI{y(~&83yDs7f{klWo7_p%^EIR;-x*zkhZ(*GPN858)gW1-<=YI5Qea3 z79##iKq(uw43I1mhlX)WAmLm{zqu<*_BR476bN^TP(lGR!J1j;v$Prgoqx`GefRgg z&Uu|z^NNNy&sxt~>vO+6>ygJi_SnN4RzJ4!VLuGR-ha0y^A=8dcnymg_^|k~ho5?s z#Rz^_{OqHTu1$j9i{WR762lB6hLu)eSo!N1cHj*R`xbuwZ+>=RX!K857$*Mx_#d%< z^Vbb9(JX{LaUkl6FlV*>8=@+04=4?p9{L;yAwBXW`((3SaK!!IG1rhe`LicuU4SGi4%nHYPDD+!L;H~?V zy{txnc{*z&u2y1OiQ!hB`y<$Q4He{^!uj~}KI z+_Sj)`^f%&-s1;j66g0G-JTe@)R3j|?@k@jasPS9o_#Rwr5?f2$Fp#yfHU`lmWP)e zy@FxUTEvO|x%itOb!eU=E!)k#{9@ZYZ2U6frp;iUZ+>xXciH_uLJX%i*^@S9=Y2`Y zRf3*o!*-865gQfs)-!U0phKY&Xe>f*u_sxkh6iaB_A;7yT#0e5dDF?0mA<3ozx8!dr&8k(Vr8X;3%A;#?)GwpwqOz zG+9?LFl*<@1(&SuPEm6729{)RtP%wfF)9J(*uh!6tg2tPJ?1ApcbO^5b`>Ekze|fA z-%4f~e~A52$bIpNU$wnjqTfOJ?ESTLU4EVeIyA2OY+>1AeF^OaGtmx{z7+V(7 zpa54I@(;NNB+r&H#;b2dRUwI#;9L^wU;K@+ZPx|(5Ad)4Sarp*U4F#zed>7$xk7)T zeL5W*U5y>NsBvzeS;8|4QqS{WG4q@Bp2QXBrJu@%Wk!DLd0kd517=6}{jfg9F`v;W z4D;*d24apb(*xQ$Ki?9QDA4HhG#UjQW!R3z7%&c@#E^)zV|XIAL&E&2!EBa!f;4r! zZ@xqA4eX%tXv+&Y#hFt*o%C1W5E>YBIoR*m*bBLCv_a4HFqF*TrwO^rsXAP@_ZVTv zUgTe!B7lm;1Fbl&5`Jw;n@tclghr-qr&;;!G?fgFT_PCl!uT*Ny`3h;X>B0L2=u{) zQ>`qw+TzMah(zI7k`ZV=;&I4m9;mA6Z2FjuaAFPSdYOYWUKJ96hI3Q8*(ncHIED*b zaU~}tx1w;kJbn>fNe3`9>h+pGCmE7W`e#or=&jn7R3aWV3Ku!aBJ_Ox%JXC-FC0bK zTAu�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 PI1%qn(`pCa`q}$Wmof3b literal 22016 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 C6dZB@ literal 22016 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 CWi|@{ diff --git a/addons/dogtags/data/dogtag_ca.paa b/addons/dogtags/data/dogtag_ca.paa new file mode 100644 index 0000000000000000000000000000000000000000..ccd77607f3c21dc129f5dd7c6175440fba87d9f1 GIT binary patch literal 45953 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 literal 0 HcmV?d00001 diff --git a/addons/dogtags/data/model.cfg b/addons/dogtags/data/model.cfg new file mode 100644 index 00000000000..cb919c9950a --- /dev/null +++ b/addons/dogtags/data/model.cfg @@ -0,0 +1,16 @@ +class CfgSkeletons { + class Default { + isDiscrete = 1; + skeletonInherit = ""; + skeletonBones[] = {}; + }; +}; + +class CfgModels { + class Default { + sectionsInherit = ""; + sections[] = {""}; + skeletonName = "Default"; + }; + class ace_dogtag: Default {}; +}; From 5dbe99b7404354e04b6efb1522248ef2300dc3e2 Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Tue, 7 Jun 2016 20:40:26 +0200 Subject: [PATCH 05/19] Adjusted single and double dogtag renders --- addons/dogtags/data/dogtagDouble.paa | Bin 37366 -> 38198 bytes addons/dogtags/data/dogtagSingle.paa | Bin 35107 -> 35491 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/addons/dogtags/data/dogtagDouble.paa b/addons/dogtags/data/dogtagDouble.paa index d325b8c55c154926350aad35909d084c08514419..8bc7c29ef3300bc4b560ac45b5204d78538381d8 100644 GIT binary patch literal 38198 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 OXHr+}>U4qC`1}`{o?Qe0 literal 37366 zcmeFadt6lI{y(~&83yDs7f{klWo7_p%^EIR;-x*zkhZ(*GPN858)gW1-<=YI5Qea3 z79##iKq(uw43I1mhlX)WAmLm{zqu<*_BR476bN^TP(lGR!J1j;v$Prgoqx`GefRgg z&Uu|z^NNNy&sxt~>vO+6>ygJi_SnN4RzJ4!VLuGR-ha0y^A=8dcnymg_^|k~ho5?s z#Rz^_{OqHTu1$j9i{WR762lB6hLu)eSo!N1cHj*R`xbuwZ+>=RX!K857$*Mx_#d%< z^Vbb9(JX{LaUkl6FlV*>8=@+04=4?p9{L;yAwBXW`((3SaK!!IG1rhe`LicuU4SGi4%nHYPDD+!L;H~?V zy{txnc{*z&u2y1OiQ!hB`y<$Q4He{^!uj~}KI z+_Sj)`^f%&-s1;j66g0G-JTe@)R3j|?@k@jasPS9o_#Rwr5?f2$Fp#yfHU`lmWP)e zy@FxUTEvO|x%itOb!eU=E!)k#{9@ZYZ2U6frp;iUZ+>xXciH_uLJX%i*^@S9=Y2`Y zRf3*o!*-865gQfs)-!U0phKY&Xe>f*u_sxkh6iaB_A;7yT#0e5dDF?0mA<3ozx8!dr&8k(Vr8X;3%A;#?)GwpwqOz zG+9?LFl*<@1(&SuPEm6729{)RtP%wfF)9J(*uh!6tg2tPJ?1ApcbO^5b`>Ekze|fA z-%4f~e~A52$bIpNU$wnjqTfOJ?ESTLU4EVeIyA2OY+>1AeF^OaGtmx{z7+V(7 zpa54I@(;NNB+r&H#;b2dRUwI#;9L^wU;K@+ZPx|(5Ad)4Sarp*U4F#zed>7$xk7)T zeL5W*U5y>NsBvzeS;8|4QqS{WG4q@Bp2QXBrJu@%Wk!DLd0kd517=6}{jfg9F`v;W z4D;*d24apb(*xQ$Ki?9QDA4HhG#UjQW!R3z7%&c@#E^)zV|XIAL&E&2!EBa!f;4r! zZ@xqA4eX%tXv+&Y#hFt*o%C1W5E>YBIoR*m*bBLCv_a4HFqF*TrwO^rsXAP@_ZVTv zUgTe!B7lm;1Fbl&5`Jw;n@tclghr-qr&;;!G?fgFT_PCl!uT*Ny`3h;X>B0L2=u{) zQ>`qw+TzMah(zI7k`ZV=;&I4m9;mA6Z2FjuaAFPSdYOYWUKJ96hI3Q8*(ncHIED*b zaU~}tx1w;kJbn>fNe3`9>h+pGCmE7W`e#or=&jn7R3aWV3Ku!aBJ_Ox%JXC-FC0bK zTAu�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 PI1%qn(`pCa`q}$Wmof3b diff --git a/addons/dogtags/data/dogtagSingle.paa b/addons/dogtags/data/dogtagSingle.paa index ecc9745379c832d9465764d2713b582ccb75184c..c85457d9032bc31651ab315d9ef31c811a7e73e3 100644 GIT binary patch literal 35491 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�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 literal 35107 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 C6dZB@ From 5313672e4c6a9f8496b00e320f08b123658dbf86 Mon Sep 17 00:00:00 2001 From: SzwedzikPL Date: Thu, 9 Jun 2016 17:10:46 +0200 Subject: [PATCH 06/19] dogtag picture --- addons/dogtags/CfgWeapons.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/dogtags/CfgWeapons.hpp b/addons/dogtags/CfgWeapons.hpp index 5c4e3eca80b..4e37db74db7 100644 --- a/addons/dogtags/CfgWeapons.hpp +++ b/addons/dogtags/CfgWeapons.hpp @@ -16,8 +16,8 @@ class CfgWeapons { author = ECSTRING(common,ACETeam); scope = 0; displayName = CSTRING(itemName); - model = QUOTE(PATHTOF(data\ace_dogtag.p3d)); //@todo? - //picture = QUOTE(PATHTOF(images\picture.paa)); @todo + model = QUOTE(PATHTOF(data\ace_dogtag.p3d)); + picture = QUOTE(PATHTOF(data\dogtagSingle.paa)); class ItemInfo: InventoryItem_Base_F { mass = 0; //too small to for 1 ? }; From 0e247bdb0035e3bff6a7fea0db40163579dcab26 Mon Sep 17 00:00:00 2001 From: SzwedzikPL Date: Sat, 11 Jun 2016 22:13:39 +0200 Subject: [PATCH 07/19] CBA events --- addons/dogtags/XEH_postInit.sqf | 8 ++++---- addons/dogtags/functions/fnc_checkDogtag.sqf | 2 +- addons/dogtags/functions/fnc_checkDogtagItem.sqf | 2 +- addons/dogtags/functions/fnc_getDogtagItem.sqf | 4 ++-- addons/dogtags/functions/fnc_sendDogtagData.sqf | 2 +- addons/dogtags/functions/fnc_takeDogtag.sqf | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/addons/dogtags/XEH_postInit.sqf b/addons/dogtags/XEH_postInit.sqf index 2d7b1dd49c3..96a6a3180ca 100644 --- a/addons/dogtags/XEH_postInit.sqf +++ b/addons/dogtags/XEH_postInit.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -[QGVAR(showDogtag), DFUNC(showDogtag)] call EFUNC(common,addEventHandler); -[QGVAR(sendDogtagData), DFUNC(sendDogtagData)] call EFUNC(common,addEventHandler); -[QGVAR(getDogtagItem), DFUNC(getDogtagItem)] call EFUNC(common,addEventHandler); -[QGVAR(addDogtagItem), DFUNC(addDogtagItem)] call EFUNC(common,addEventHandler); +[QGVAR(showDogtag), DFUNC(showDogtag)] call CBA_fnc_addEventHandler; +[QGVAR(sendDogtagData), DFUNC(sendDogtagData)] call CBA_fnc_addEventHandler; +[QGVAR(getDogtagItem), DFUNC(getDogtagItem)] call CBA_fnc_addEventHandler; +[QGVAR(addDogtagItem), DFUNC(addDogtagItem)] call CBA_fnc_addEventHandler; diff --git a/addons/dogtags/functions/fnc_checkDogtag.sqf b/addons/dogtags/functions/fnc_checkDogtag.sqf index bfd78e263c1..4c606265f61 100644 --- a/addons/dogtags/functions/fnc_checkDogtag.sqf +++ b/addons/dogtags/functions/fnc_checkDogtag.sqf @@ -17,4 +17,4 @@ params ["_player", "_target"]; private _doubleTags = !(_target getVariable [QGVAR(dogtagTaken), false]); private _nickname = [_target, false, true] call EFUNC(common,getName); -[QGVAR(showDogtag), [_nickname, _doubleTags]] call EFUNC(common,localEvent); +[QGVAR(showDogtag), [_nickname, _doubleTags]] call CBA_fnc_localEvent; diff --git a/addons/dogtags/functions/fnc_checkDogtagItem.sqf b/addons/dogtags/functions/fnc_checkDogtagItem.sqf index 786874dc656..930532a0d9d 100644 --- a/addons/dogtags/functions/fnc_checkDogtagItem.sqf +++ b/addons/dogtags/functions/fnc_checkDogtagItem.sqf @@ -16,4 +16,4 @@ params ["_player", "_target", "_item"]; -[QGVAR(sendDogtagData), [_player, _item]] call EFUNC(common,serverEvent); +[QGVAR(sendDogtagData), [_player, _item]] call CBA_fnc_serverEvent; diff --git a/addons/dogtags/functions/fnc_getDogtagItem.sqf b/addons/dogtags/functions/fnc_getDogtagItem.sqf index 30e0584f7b3..db12dd258ae 100644 --- a/addons/dogtags/functions/fnc_getDogtagItem.sqf +++ b/addons/dogtags/functions/fnc_getDogtagItem.sqf @@ -34,7 +34,7 @@ missionNamespace setVariable [QGVAR(allDogtags), _allDogtags]; missionNamespace setVariable [QGVAR(allDogtagNicknames), _allDogtagNicknames]; if(isMultiplayer) then { - [QGVAR(addDogtagItem), [_target], [_item, _nickname]] call EFUNC(common,targetEvent); + [QGVAR(addDogtagItem), [_item, _nickname], [_target]] call CBA_fnc_targetEvent; } else { - [QGVAR(addDogtagItem), [_item, _nickname]] call EFUNC(common,localEvent); + [QGVAR(addDogtagItem), [_item, _nickname]] call CBA_fnc_localEvent; }; diff --git a/addons/dogtags/functions/fnc_sendDogtagData.sqf b/addons/dogtags/functions/fnc_sendDogtagData.sqf index 9cb2efdd5d0..d84c325c5a1 100644 --- a/addons/dogtags/functions/fnc_sendDogtagData.sqf +++ b/addons/dogtags/functions/fnc_sendDogtagData.sqf @@ -27,4 +27,4 @@ if (_index >= 0) then { _nickname = _allDogtagNicknames select _index; }; -[QGVAR(showDogtag), [_target], [_nickname]] call EFUNC(common,targetEvent); +[QGVAR(showDogtag), [_nickname], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/dogtags/functions/fnc_takeDogtag.sqf b/addons/dogtags/functions/fnc_takeDogtag.sqf index 25a5b333896..585f89b697f 100644 --- a/addons/dogtags/functions/fnc_takeDogtag.sqf +++ b/addons/dogtags/functions/fnc_takeDogtag.sqf @@ -20,5 +20,5 @@ if (_target getVariable [QGVAR(dogtagTaken), false]) then { [localize LSTRING(dogtagAlreadyTaken)] call EFUNC(common,displayText); } else { _target setVariable [QGVAR(dogtagTaken), true, true]; - [QGVAR(getDogtagItem), [_player, _target]] call EFUNC(common,serverEvent); + [QGVAR(getDogtagItem), [_player, _target]] call CBA_fnc_serverEvent; }; From e58d829927159c145e39fac84b2645badd763866 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Mon, 20 Jun 2016 14:54:16 -0300 Subject: [PATCH 08/19] Restyle the dog tag text. --- addons/dogtags/Dogtag.hpp | 22 ++++++++++----------- addons/dogtags/functions/fnc_showDogtag.sqf | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/addons/dogtags/Dogtag.hpp b/addons/dogtags/Dogtag.hpp index aa4480a7f8a..af6785d0ba4 100644 --- a/addons/dogtags/Dogtag.hpp +++ b/addons/dogtags/Dogtag.hpp @@ -34,15 +34,15 @@ class RscTitles { y = safeZoneY + 0.25 * safezoneH; w = (5.9 * (((safezoneW / safezoneH) min 1.2) / 40)); h = (3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)); - font = "EtelkaMonospacePro"; + font = "RobotoCondensed"; class Attributes { - font = "EtelkaMonospacePro"; - color = "#FFFFFF"; - align = "center"; + font = "RobotoCondensed"; + color = "#EEEEEE"; + align = "left"; valign = "middle"; - shadow = 1; + shadow = 2; shadowColor = "#3f4345"; - size = "0.85"; + size = "0.80"; }; }; }; @@ -58,13 +58,13 @@ class RscTitles { }; class nickname: nickname { class Attributes: Attributes { - font = "EtelkaMonospacePro"; - color = "#FFFFFF"; - align = "center"; + font = "RobotoCondensed"; + color = "#EEEEEE"; + align = "left"; valign = "middle"; - shadow = 1; + shadow = 2; shadowColor = "#3f4345"; - size = "0.85"; + size = "0.80"; }; }; }; diff --git a/addons/dogtags/functions/fnc_showDogtag.sqf b/addons/dogtags/functions/fnc_showDogtag.sqf index 1c79728840b..f1f28d25b8d 100644 --- a/addons/dogtags/functions/fnc_showDogtag.sqf +++ b/addons/dogtags/functions/fnc_showDogtag.sqf @@ -27,4 +27,4 @@ private _display = uiNamespace getvariable [QGVAR(tag), displayNull]; if(isNull _display) exitWith {}; private _control = _display displayCtrl 1001; -_control ctrlSetText _nickname; +_control ctrlSetStructuredText parseText format ["%1
%2
%3", toUpper _nickName, "135-13-9001", "O POS"]; From 0d30bf1de8825fd296f549ddf67fd5550c0f6aa8 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Mon, 20 Jun 2016 15:51:36 -0300 Subject: [PATCH 09/19] - Add random service number and bloodtypes to all units. - Leave up to CBA to decide if events should be local or remote - Imp --- addons/dogtags/XEH_PREP.hpp | 1 + .../dogtags/functions/fnc_addDogtagItem.sqf | 7 ++-- addons/dogtags/functions/fnc_checkDogtag.sqf | 5 +-- .../dogtags/functions/fnc_getDogtagData.sqf | 32 +++++++++++++++++++ .../dogtags/functions/fnc_getDogtagItem.sqf | 18 ++++------- .../dogtags/functions/fnc_sendDogtagData.sqf | 10 +++--- addons/dogtags/functions/fnc_showDogtag.sqf | 10 +++--- 7 files changed, 58 insertions(+), 25 deletions(-) create mode 100644 addons/dogtags/functions/fnc_getDogtagData.sqf diff --git a/addons/dogtags/XEH_PREP.hpp b/addons/dogtags/XEH_PREP.hpp index 023cc5e733e..4c54b69cf13 100644 --- a/addons/dogtags/XEH_PREP.hpp +++ b/addons/dogtags/XEH_PREP.hpp @@ -4,6 +4,7 @@ PREP(canCheckDogtag); PREP(canTakeDogtag); PREP(checkDogtag); PREP(checkDogtagItem); +PREP(getDogtagData); PREP(getDogtagItem); PREP(sendDogtagData); PREP(showDogtag); diff --git a/addons/dogtags/functions/fnc_addDogtagItem.sqf b/addons/dogtags/functions/fnc_addDogtagItem.sqf index 8349a7d62ee..f4890782b00 100644 --- a/addons/dogtags/functions/fnc_addDogtagItem.sqf +++ b/addons/dogtags/functions/fnc_addDogtagItem.sqf @@ -4,7 +4,7 @@ * * Arguments: * 0: Item class - * 1: Nickname on dogtag + * 1: Dogtag data * * Return Value: * None @@ -13,11 +13,12 @@ */ #include "script_component.hpp" -params ["_item", "_nickname"]; +params ["_item", "_dogtagData"]; if (_item == "") exitWith {}; [ace_player, _item] call CBA_fnc_addItem; -private _displayText = format [localize LSTRING(takeDogtagSuccess), _nickname]; +_dogtagData params ["_nickName"]; +private _displayText = format [localize LSTRING(takeDogtagSuccess), _nickName]; [_displayText] call EFUNC(common,displayText); diff --git a/addons/dogtags/functions/fnc_checkDogtag.sqf b/addons/dogtags/functions/fnc_checkDogtag.sqf index 4c606265f61..a247d24312c 100644 --- a/addons/dogtags/functions/fnc_checkDogtag.sqf +++ b/addons/dogtags/functions/fnc_checkDogtag.sqf @@ -16,5 +16,6 @@ params ["_player", "_target"]; private _doubleTags = !(_target getVariable [QGVAR(dogtagTaken), false]); -private _nickname = [_target, false, true] call EFUNC(common,getName); -[QGVAR(showDogtag), [_nickname, _doubleTags]] call CBA_fnc_localEvent; +private _dogTagData = [_target] call FUNC(getDogTagData); + +[QGVAR(showDogtag), [_dogTagData, _doubleTags]] call CBA_fnc_localEvent; diff --git a/addons/dogtags/functions/fnc_getDogtagData.sqf b/addons/dogtags/functions/fnc_getDogtagData.sqf new file mode 100644 index 00000000000..bcb4cc05a2d --- /dev/null +++ b/addons/dogtags/functions/fnc_getDogtagData.sqf @@ -0,0 +1,32 @@ +/* + * Author: esteldunedain + * Get unit dogtag data + * + * Arguments: + * 0: Target + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +params ["_target"]; + +// Check if the data was already created +private _dogTagData = _target getVariable QGVAR(dogtagData); +if (!isNil "_dogTagData") exitWith {_dogTagData}; + +// Create dog tag data once for the unit: nickname, code (eg. 135-13-900) and blood type +private _dogTagData = [ + [_target, false, true] call EFUNC(common,getName), + str(floor random 9) + str(floor random 9) + str(floor random 9) + "-" + + str(floor random 9) + str(floor random 9) + "-" + + str(floor random 9) + str(floor random 9) + str(floor random 9), + selectRandom ["O POS", "O NEG", "A POS", "A NEG", "B POS", "B NEG", + "AB POS", "AB NEG"] +]; +// Store it +_target setVariable [QGVAR(dogtagData), _dogTagData, true]; +_dogTagData diff --git a/addons/dogtags/functions/fnc_getDogtagItem.sqf b/addons/dogtags/functions/fnc_getDogtagItem.sqf index db12dd258ae..cdcb8eab6fe 100644 --- a/addons/dogtags/functions/fnc_getDogtagItem.sqf +++ b/addons/dogtags/functions/fnc_getDogtagItem.sqf @@ -15,26 +15,22 @@ if(!isServer) exitWith {}; -params ["_target", "_unit"]; -TRACE_2("getDogtagItem",_target,_unit); +params ["_player", "_target"]; +TRACE_2("getDogtagItem",_player,_target); private _allDogtags = missionNamespace getVariable [QGVAR(allDogtags), []]; -private _allDogtagNicknames = missionNamespace getVariable [QGVAR(allDogtagNicknames), []]; +private _allDogtagDatas = missionNamespace getVariable [QGVAR(allDogtagDatas), []]; private _nextID = count _allDogtags + 1; if (_nextID > 999) exitWith {}; -private _nickname = [_unit, false, true] call EFUNC(common,getName); +private _dogTagData = [_target] call FUNC(getDogTagData); private _item = format ["ACE_dogtag_%1", _nextID]; _allDogtags pushBack _item; -_allDogtagNicknames pushBack _nickname; +_allDogtagDatas pushBack _dogTagData; missionNamespace setVariable [QGVAR(allDogtags), _allDogtags]; -missionNamespace setVariable [QGVAR(allDogtagNicknames), _allDogtagNicknames]; +missionNamespace setVariable [QGVAR(allDogtagDatas), _allDogtagDatas]; -if(isMultiplayer) then { - [QGVAR(addDogtagItem), [_item, _nickname], [_target]] call CBA_fnc_targetEvent; -} else { - [QGVAR(addDogtagItem), [_item, _nickname]] call CBA_fnc_localEvent; -}; +[QGVAR(addDogtagItem), [_item, _dogTagData], [_player]] call CBA_fnc_targetEvent; diff --git a/addons/dogtags/functions/fnc_sendDogtagData.sqf b/addons/dogtags/functions/fnc_sendDogtagData.sqf index d84c325c5a1..cadb343796f 100644 --- a/addons/dogtags/functions/fnc_sendDogtagData.sqf +++ b/addons/dogtags/functions/fnc_sendDogtagData.sqf @@ -1,6 +1,6 @@ /* * Author: SzwedzikPL - * Server: returns to client nickname on given dogtag + * Server: returns to client data on given dogtag * * Arguments: * 0: Player @@ -19,12 +19,12 @@ params ["_target", "_item"]; TRACE_2("sendDogtagData",_target,_item); private _allDogtags = missionNameSpace getVariable [QGVAR(allDogtags), []]; -private _allDogtagNicknames = missionNameSpace getVariable [QGVAR(allDogtagNicknames), []]; +private _allDogtagDatas = missionNameSpace getVariable [QGVAR(allDogtagDatas), []]; -private _nickname = ""; +private _dogtagData = []; private _index = _allDogtags find _item; if (_index >= 0) then { - _nickname = _allDogtagNicknames select _index; + _dogtagData = _allDogtagDatas select _index; }; -[QGVAR(showDogtag), [_nickname], [_target]] call CBA_fnc_targetEvent; +[QGVAR(showDogtag), [_dogtagData], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/dogtags/functions/fnc_showDogtag.sqf b/addons/dogtags/functions/fnc_showDogtag.sqf index f1f28d25b8d..119a2de773a 100644 --- a/addons/dogtags/functions/fnc_showDogtag.sqf +++ b/addons/dogtags/functions/fnc_showDogtag.sqf @@ -3,7 +3,8 @@ * Shows dogtag * * Arguments: - * 0: Nickname + * 0: Dog tag data + * 1: Display as double tag * * Return Value: * None @@ -14,9 +15,9 @@ disableSerialization; -params ["_nickname", ["_doubleTags", false, [false]]]; +params ["_dogtagData", ["_doubleTags", false, [false]]]; -if (!hasInterface || {_nickname == ""}) exitWith {}; +if (!hasInterface || {_dogtagData isEqualTo []}) exitWith {}; if (_doubleTags) then { (QGVAR(tag) call BIS_fnc_rscLayer) cutRsc [QGVAR(doubleTag), "PLAIN", 1, true]; @@ -27,4 +28,5 @@ private _display = uiNamespace getvariable [QGVAR(tag), displayNull]; if(isNull _display) exitWith {}; private _control = _display displayCtrl 1001; -_control ctrlSetStructuredText parseText format ["%1
%2
%3", toUpper _nickName, "135-13-9001", "O POS"]; +_dogtagData params ["_nickName", "_code", "_bloodType"]; +_control ctrlSetStructuredText parseText format ["%1
%2
%3", toUpper _nickName, _code, _bloodType]; From 6df82aad55e4cc6f2acff3f9b3d2d2a44ec8e2ef Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Mon, 20 Jun 2016 16:12:40 -0300 Subject: [PATCH 10/19] I can't believe it happened to me. --- addons/dogtags/functions/fnc_getDogtagData.sqf | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/dogtags/functions/fnc_getDogtagData.sqf b/addons/dogtags/functions/fnc_getDogtagData.sqf index bcb4cc05a2d..68cc4a2bc43 100644 --- a/addons/dogtags/functions/fnc_getDogtagData.sqf +++ b/addons/dogtags/functions/fnc_getDogtagData.sqf @@ -20,12 +20,12 @@ if (!isNil "_dogTagData") exitWith {_dogTagData}; // Create dog tag data once for the unit: nickname, code (eg. 135-13-900) and blood type private _dogTagData = [ - [_target, false, true] call EFUNC(common,getName), - str(floor random 9) + str(floor random 9) + str(floor random 9) + "-" + - str(floor random 9) + str(floor random 9) + "-" + - str(floor random 9) + str(floor random 9) + str(floor random 9), - selectRandom ["O POS", "O NEG", "A POS", "A NEG", "B POS", "B NEG", - "AB POS", "AB NEG"] + [_target, false, true] call EFUNC(common,getName), + str(floor random 9) + str(floor random 9) + str(floor random 9) + "-" + + str(floor random 9) + str(floor random 9) + "-" + + str(floor random 9) + str(floor random 9) + str(floor random 9), + selectRandom ["O POS", "O NEG", "A POS", "A NEG", "B POS", "B NEG", + "AB POS", "AB NEG"] ]; // Store it _target setVariable [QGVAR(dogtagData), _dogTagData, true]; From 88cf6aad980684362cee4c75a2b9b3821fedb598 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Mon, 20 Jun 2016 16:45:34 -0300 Subject: [PATCH 11/19] Attempt on making blood type and service number unique for players --- .../dogtags/functions/fnc_getDogtagData.sqf | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/addons/dogtags/functions/fnc_getDogtagData.sqf b/addons/dogtags/functions/fnc_getDogtagData.sqf index 68cc4a2bc43..5d813b20463 100644 --- a/addons/dogtags/functions/fnc_getDogtagData.sqf +++ b/addons/dogtags/functions/fnc_getDogtagData.sqf @@ -19,13 +19,24 @@ private _dogTagData = _target getVariable QGVAR(dogtagData); if (!isNil "_dogTagData") exitWith {_dogTagData}; // Create dog tag data once for the unit: nickname, code (eg. 135-13-900) and blood type +private ["_bloodTypeIndex", "_code"]; +//hint getplayeruid _target; +if ((typename getplayeruid _target) == "SCALAR") then { + _bloodTypeIndex = (getplayeruid _target) mod 8; + _code = (str getplayeruid _target) select [0, 3] + "-" + + (str getplayeruid _target) select [3, 2] + "-" + + (str getplayeruid _target) select [5, 3]; +} else { + _bloodTypeIndex = floor random 8; + _code = str(floor random 9) + str(floor random 9) + str(floor random 9) + "-" + + str(floor random 9) + str(floor random 9) + "-" + + str(floor random 9) + str(floor random 9) + str(floor random 9); +}; private _dogTagData = [ [_target, false, true] call EFUNC(common,getName), - str(floor random 9) + str(floor random 9) + str(floor random 9) + "-" + - str(floor random 9) + str(floor random 9) + "-" + - str(floor random 9) + str(floor random 9) + str(floor random 9), - selectRandom ["O POS", "O NEG", "A POS", "A NEG", "B POS", "B NEG", - "AB POS", "AB NEG"] + _code, + ["O POS", "O NEG", "A POS", "A NEG", "B POS", "B NEG", + "AB POS", "AB NEG"] select _bloodTypeIndex ]; // Store it _target setVariable [QGVAR(dogtagData), _dogTagData, true]; From c88313221f2329e06e9d6d444d2c183d880f4884 Mon Sep 17 00:00:00 2001 From: commy2 Date: Mon, 20 Jun 2016 21:50:00 +0200 Subject: [PATCH 12/19] add function to report a blood type which is fixed to the units name --- addons/dogtags/XEH_PREP.hpp | 1 + addons/dogtags/functions/fnc_bloodType.sqf | 24 +++++++++++++++++++ .../dogtags/functions/fnc_getDogtagData.sqf | 7 +++--- 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 addons/dogtags/functions/fnc_bloodType.sqf diff --git a/addons/dogtags/XEH_PREP.hpp b/addons/dogtags/XEH_PREP.hpp index 4c54b69cf13..370396e1a3d 100644 --- a/addons/dogtags/XEH_PREP.hpp +++ b/addons/dogtags/XEH_PREP.hpp @@ -1,5 +1,6 @@ PREP(addDogtagActions); PREP(addDogtagItem); +PREP(bloodType); PREP(canCheckDogtag); PREP(canTakeDogtag); PREP(checkDogtag); diff --git a/addons/dogtags/functions/fnc_bloodType.sqf b/addons/dogtags/functions/fnc_bloodType.sqf new file mode 100644 index 00000000000..2111e16ccfe --- /dev/null +++ b/addons/dogtags/functions/fnc_bloodType.sqf @@ -0,0 +1,24 @@ +/* + * Author: commy2 + * Reports a blood type depending on the units name. + * + * Arguments: + * 0: Name of a unit + * + * Return Value: + * A random blood type + * + * Public: No + */ +#include "script_component.hpp" + +#define BLOOD_TYPES ["O POS", "O NEG", "A POS", "A NEG", "B POS", "B NEG", "AB POS", "AB NEG"] + +params ["_name"]; + +private _num = 0; +private _count = {_num = _num + _x} count toArray _name; + +_num = _num + _count; + +BLOOD_TYPES select (_num % count BLOOD_TYPES) diff --git a/addons/dogtags/functions/fnc_getDogtagData.sqf b/addons/dogtags/functions/fnc_getDogtagData.sqf index 68cc4a2bc43..5a709ab4272 100644 --- a/addons/dogtags/functions/fnc_getDogtagData.sqf +++ b/addons/dogtags/functions/fnc_getDogtagData.sqf @@ -19,13 +19,14 @@ private _dogTagData = _target getVariable QGVAR(dogtagData); if (!isNil "_dogTagData") exitWith {_dogTagData}; // Create dog tag data once for the unit: nickname, code (eg. 135-13-900) and blood type +private _targetName = [_target, false, true] call EFUNC(common,getName); + private _dogTagData = [ - [_target, false, true] call EFUNC(common,getName), + _targetName, str(floor random 9) + str(floor random 9) + str(floor random 9) + "-" + str(floor random 9) + str(floor random 9) + "-" + str(floor random 9) + str(floor random 9) + str(floor random 9), - selectRandom ["O POS", "O NEG", "A POS", "A NEG", "B POS", "B NEG", - "AB POS", "AB NEG"] + _targetName call FUNC(bloodType) ]; // Store it _target setVariable [QGVAR(dogtagData), _dogTagData, true]; From c47898a624b5dd60738df27f35b8aaab99ba34ac Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Mon, 20 Jun 2016 17:04:30 -0300 Subject: [PATCH 13/19] Parse the first portion of the uid --- addons/dogtags/functions/fnc_getDogtagData.sqf | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/addons/dogtags/functions/fnc_getDogtagData.sqf b/addons/dogtags/functions/fnc_getDogtagData.sqf index 5d813b20463..78083ebdc7f 100644 --- a/addons/dogtags/functions/fnc_getDogtagData.sqf +++ b/addons/dogtags/functions/fnc_getDogtagData.sqf @@ -20,12 +20,11 @@ if (!isNil "_dogTagData") exitWith {_dogTagData}; // Create dog tag data once for the unit: nickname, code (eg. 135-13-900) and blood type private ["_bloodTypeIndex", "_code"]; -//hint getplayeruid _target; -if ((typename getplayeruid _target) == "SCALAR") then { - _bloodTypeIndex = (getplayeruid _target) mod 8; - _code = (str getplayeruid _target) select [0, 3] + "-" + - (str getplayeruid _target) select [3, 2] + "-" + - (str getplayeruid _target) select [5, 3]; +if !(getplayeruid _target in ["", "_SP_AI_", "_SP_PLAYER_"]) then { + _bloodTypeIndex = (parseNumber ((getPlayerUID _target) select [0, 5])) mod 8; + _code = (getplayeruid _target) select [0, 3] + "-" + + (getplayeruid _target) select [3, 2] + "-" + + (getplayeruid _target) select [5, 3]; } else { _bloodTypeIndex = floor random 8; _code = str(floor random 9) + str(floor random 9) + str(floor random 9) + "-" + From 578477eae6c20a6caf29f44f6c63358fb6096fbe Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 20 Jun 2016 15:12:23 -0500 Subject: [PATCH 14/19] Fix issue with dogtag respawn/setVariable Store object instead of bool to indicate when dogtags have been taken When object respawns, the the old object reference won't apply (defacto reset) --- addons/dogtags/functions/fnc_canCheckDogtag.sqf | 2 +- addons/dogtags/functions/fnc_canTakeDogtag.sqf | 2 +- addons/dogtags/functions/fnc_checkDogtag.sqf | 2 +- addons/dogtags/functions/fnc_getDogtagItem.sqf | 2 +- addons/dogtags/functions/fnc_takeDogtag.sqf | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/dogtags/functions/fnc_canCheckDogtag.sqf b/addons/dogtags/functions/fnc_canCheckDogtag.sqf index 2c46fe30e68..a05629c72f8 100644 --- a/addons/dogtags/functions/fnc_canCheckDogtag.sqf +++ b/addons/dogtags/functions/fnc_canCheckDogtag.sqf @@ -17,4 +17,4 @@ params ["_player", "_target"]; if (isNull _target) exitWith {false}; -!alive _target || _target getVariable ["ACE_isUnconscious", false] +(!alive _target) || {_target getVariable ["ACE_isUnconscious", false]} diff --git a/addons/dogtags/functions/fnc_canTakeDogtag.sqf b/addons/dogtags/functions/fnc_canTakeDogtag.sqf index 8414e35c310..b8279144bb0 100644 --- a/addons/dogtags/functions/fnc_canTakeDogtag.sqf +++ b/addons/dogtags/functions/fnc_canTakeDogtag.sqf @@ -17,4 +17,4 @@ params ["_player", "_target"]; if (isNull _target) exitWith {false}; -!alive _target || _target getVariable ["ACE_isUnconscious", false] +(!alive _target) || {_target getVariable ["ACE_isUnconscious", false]} diff --git a/addons/dogtags/functions/fnc_checkDogtag.sqf b/addons/dogtags/functions/fnc_checkDogtag.sqf index a247d24312c..6345871f024 100644 --- a/addons/dogtags/functions/fnc_checkDogtag.sqf +++ b/addons/dogtags/functions/fnc_checkDogtag.sqf @@ -15,7 +15,7 @@ params ["_player", "_target"]; -private _doubleTags = !(_target getVariable [QGVAR(dogtagTaken), false]); +private _doubleTags = (_target getVariable [QGVAR(dogtagTaken), objNull]) != _target; private _dogTagData = [_target] call FUNC(getDogTagData); [QGVAR(showDogtag), [_dogTagData, _doubleTags]] call CBA_fnc_localEvent; diff --git a/addons/dogtags/functions/fnc_getDogtagItem.sqf b/addons/dogtags/functions/fnc_getDogtagItem.sqf index cdcb8eab6fe..aee57b31e34 100644 --- a/addons/dogtags/functions/fnc_getDogtagItem.sqf +++ b/addons/dogtags/functions/fnc_getDogtagItem.sqf @@ -23,7 +23,7 @@ private _allDogtagDatas = missionNamespace getVariable [QGVAR(allDogtagDatas), [ private _nextID = count _allDogtags + 1; -if (_nextID > 999) exitWith {}; +if (_nextID > 999) exitWith {ACE_LOGERROR("Ran out of IDs");}; private _dogTagData = [_target] call FUNC(getDogTagData); private _item = format ["ACE_dogtag_%1", _nextID]; diff --git a/addons/dogtags/functions/fnc_takeDogtag.sqf b/addons/dogtags/functions/fnc_takeDogtag.sqf index 585f89b697f..e8c93a985da 100644 --- a/addons/dogtags/functions/fnc_takeDogtag.sqf +++ b/addons/dogtags/functions/fnc_takeDogtag.sqf @@ -16,9 +16,9 @@ params ["_player", "_target"]; -if (_target getVariable [QGVAR(dogtagTaken), false]) then { +if ((_target getVariable [QGVAR(dogtagTaken), objNull]) == _target) then { [localize LSTRING(dogtagAlreadyTaken)] call EFUNC(common,displayText); } else { - _target setVariable [QGVAR(dogtagTaken), true, true]; + _target setVariable [QGVAR(dogtagTaken), _target, true]; [QGVAR(getDogtagItem), [_player, _target]] call CBA_fnc_serverEvent; }; From 7e3e101508d536144c3e484f19bf39d028a9249b Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Mon, 20 Jun 2016 17:37:37 -0300 Subject: [PATCH 15/19] Nah, they don't --- addons/dogtags/functions/fnc_getDogtagData.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/dogtags/functions/fnc_getDogtagData.sqf b/addons/dogtags/functions/fnc_getDogtagData.sqf index 5a709ab4272..9e9fd6b387e 100644 --- a/addons/dogtags/functions/fnc_getDogtagData.sqf +++ b/addons/dogtags/functions/fnc_getDogtagData.sqf @@ -23,9 +23,9 @@ private _targetName = [_target, false, true] call EFUNC(common,getName); private _dogTagData = [ _targetName, - str(floor random 9) + str(floor random 9) + str(floor random 9) + "-" + - str(floor random 9) + str(floor random 9) + "-" + - str(floor random 9) + str(floor random 9) + str(floor random 9), + str(floor random 10) + str(floor random 10) + str(floor random 10) + "-" + + str(floor random 10) + str(floor random 10) + "-" + + str(floor random 10) + str(floor random 10) + str(floor random 10), _targetName call FUNC(bloodType) ]; // Store it From 7f39748ff08f4c39c218f697449f82ee963a684a Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Mon, 20 Jun 2016 17:42:21 -0300 Subject: [PATCH 16/19] Tidy up text position to properly acommodate two line names --- addons/dogtags/Dogtag.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/dogtags/Dogtag.hpp b/addons/dogtags/Dogtag.hpp index af6785d0ba4..937432d2a82 100644 --- a/addons/dogtags/Dogtag.hpp +++ b/addons/dogtags/Dogtag.hpp @@ -31,7 +31,7 @@ class RscTitles { colorText[] = {1, 1, 1, 1}; colorBackground[] = {0, 0, 0, 0}; x = ((safezoneX + safezoneW) - (8.4 * (((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 * (((safezoneW / safezoneH) min 1.2) / 40)); - y = safeZoneY + 0.25 * safezoneH; + y = safeZoneY + 0.24 * safezoneH; w = (5.9 * (((safezoneW / safezoneH) min 1.2) / 40)); h = (3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)); font = "RobotoCondensed"; From 3972504d4a6f8b67e6e7aeec01516715867b1764 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 21 Jun 2016 12:13:32 -0500 Subject: [PATCH 17/19] Add dogtag actions to body bags --- addons/dogtags/CfgVehicles.hpp | 6 +-- addons/dogtags/XEH_postInit.sqf | 39 ++++++++++++++++++ addons/dogtags/data/dogtag_icon_ca.paa | Bin 0 -> 25558 bytes .../functions/fnc_serverRemoveBody.sqf | 2 +- 4 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 addons/dogtags/data/dogtag_icon_ca.paa diff --git a/addons/dogtags/CfgVehicles.hpp b/addons/dogtags/CfgVehicles.hpp index 8e9204c4ca5..9757ac1c537 100644 --- a/addons/dogtags/CfgVehicles.hpp +++ b/addons/dogtags/CfgVehicles.hpp @@ -9,14 +9,14 @@ class CfgVehicles { statement = ""; showDisabled = 0; priority = 3; - icon = ""; //@todo + icon = QPATHTOF(data\dogtag_icon_ca.paa); class ACE_CheckDogtag { displayName = CSTRING(checkDogtag); condition = QUOTE([ARR_2(_player,_target)] call FUNC(canCheckDogtag)); statement = QUOTE([ARR_2(_player,_target)] call FUNC(checkDogtag)); showDisabled = 0; priority = 3; - icon = ""; //@todo + icon = QPATHTOF(data\dogtag_icon_ca.paa); }; class ACE_TakeDogtag { displayName = CSTRING(takeDogtag); @@ -24,7 +24,7 @@ class CfgVehicles { statement = QUOTE([ARR_2(_player,_target)] call FUNC(takeDogtag)); showDisabled = 0; priority = 3; - icon = ""; //@todo + icon = QPATHTOF(data\dogtag_icon_ca.paa); }; }; }; diff --git a/addons/dogtags/XEH_postInit.sqf b/addons/dogtags/XEH_postInit.sqf index 96a6a3180ca..729ae7eb040 100644 --- a/addons/dogtags/XEH_postInit.sqf +++ b/addons/dogtags/XEH_postInit.sqf @@ -4,3 +4,42 @@ [QGVAR(sendDogtagData), DFUNC(sendDogtagData)] call CBA_fnc_addEventHandler; [QGVAR(getDogtagItem), DFUNC(getDogtagItem)] call CBA_fnc_addEventHandler; [QGVAR(addDogtagItem), DFUNC(addDogtagItem)] call CBA_fnc_addEventHandler; + + +//Add actions and event handlers only if ace_medical is loaded +// - Adding actions via config would create a dependency +if (["ACE_Medical"] call EFUNC(common,isModLoaded)) then { + if (hasInterface) then { + + private _checkTagAction = [ + "ACE_CheckDogtag", + format ["%1: %2", localize LSTRING(itemName), localize LSTRING(checkDogtag)], + QPATHTOF(data\dogtag_icon_ca.paa), + {[_player,_target] call FUNC(checkDogtag)}, + {!isNil {_target getVariable QGVAR(dogtagData)}} + ] call ace_interact_menu_fnc_createAction; + ["ACE_bodyBagObject", 0, ["ACE_MainActions"], _checkTagAction] call EFUNC(interact_menu,addActionToClass); + + private _takeTagAction = [ + "ACE_TakeDogtag", + format ["%1: %2", localize LSTRING(itemName), localize LSTRING(takeDogtag)], + QPATHTOF(data\dogtag_icon_ca.paa), + {[_player,_target] call FUNC(takeDogtag)}, + {(!isNil {_target getVariable QGVAR(dogtagData)}) && {((_target getVariable [QGVAR(dogtagTaken), objNull]) != _target)}} + ] call ace_interact_menu_fnc_createAction; + ["ACE_bodyBagObject", 0, ["ACE_MainActions"], _takeTagAction] call EFUNC(interact_menu,addActionToClass); + }; + if (isServer) then { + ["ace_placedInBodyBag", { + params ["_target", "_bodyBag"]; + TRACE_2("ace_placedInBodyBag eh",_target,_bodyBag); + + private _dogTagData = [_target] call FUNC(getDogtagData); + _bodyBag setVariable [QGVAR(dogtagData), _dogTagData, true]; + + if ((_target getVariable [QGVAR(dogtagTaken), objNull]) == _target) then { + _bodyBag setVariable [QGVAR(dogtagTaken), _bodyBag, true]; + }; + }] call CBA_fnc_addEventHandler; + }; +}; diff --git a/addons/dogtags/data/dogtag_icon_ca.paa b/addons/dogtags/data/dogtag_icon_ca.paa new file mode 100644 index 0000000000000000000000000000000000000000..4799db17ec2d850d8b92c660cad7243947f82c70 GIT binary patch literal 25558 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 0) then { +if ((count GVAR(bodiesToDelete)) == 1) then { [] call FUNC(bodyCleanupLoop); }; From ebcf1687a7fd3eb342ef64d9e065614b2b592fe9 Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Tue, 21 Jun 2016 18:42:15 +0100 Subject: [PATCH 18/19] Generate SSN of unit from their name Similar to how we're handling blood types, uses the unit's name to generate a valid three/two/four format SSN. For names less than 9 characters long this will currently generate a unique SSN only up to the length of the name and append valid digits as necessary. --- addons/dogtags/XEH_PREP.hpp | 1 + .../dogtags/functions/fnc_getDogtagData.sqf | 4 +--- addons/dogtags/functions/fnc_ssn.sqf | 23 +++++++++++++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 addons/dogtags/functions/fnc_ssn.sqf diff --git a/addons/dogtags/XEH_PREP.hpp b/addons/dogtags/XEH_PREP.hpp index 370396e1a3d..33e42ba1919 100644 --- a/addons/dogtags/XEH_PREP.hpp +++ b/addons/dogtags/XEH_PREP.hpp @@ -9,4 +9,5 @@ PREP(getDogtagData); PREP(getDogtagItem); PREP(sendDogtagData); PREP(showDogtag); +PREP(ssn); PREP(takeDogtag); diff --git a/addons/dogtags/functions/fnc_getDogtagData.sqf b/addons/dogtags/functions/fnc_getDogtagData.sqf index 9e9fd6b387e..485e09789ef 100644 --- a/addons/dogtags/functions/fnc_getDogtagData.sqf +++ b/addons/dogtags/functions/fnc_getDogtagData.sqf @@ -23,9 +23,7 @@ private _targetName = [_target, false, true] call EFUNC(common,getName); private _dogTagData = [ _targetName, - str(floor random 10) + str(floor random 10) + str(floor random 10) + "-" + - str(floor random 10) + str(floor random 10) + "-" + - str(floor random 10) + str(floor random 10) + str(floor random 10), + _targetName call FUNC(ssn), _targetName call FUNC(bloodType) ]; // Store it diff --git a/addons/dogtags/functions/fnc_ssn.sqf b/addons/dogtags/functions/fnc_ssn.sqf new file mode 100644 index 00000000000..62f5745a407 --- /dev/null +++ b/addons/dogtags/functions/fnc_ssn.sqf @@ -0,0 +1,23 @@ +/* + * Author: SilentSpike + * Reports a social security number generated from the units name. + * + * Arguments: + * 0: Name of a unit + * + * Return Value: + * A random social security number + * + * Public: No + */ +#include "script_component.hpp" + +params ["_name"]; + +private _nums = ((toArray _name) select [0,9]) apply { _x % 10 }; + +while {count _nums < 9} do { + _nums pushBack (floor random 10); +}; + +([_nums select [0,3],_nums select [3,2], _nums select [5,4]] apply { _x joinString "" }) joinString "-" From 6d8121b5446276eab904279dcae0f3ecb0cd3fac Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Tue, 21 Jun 2016 20:35:23 +0100 Subject: [PATCH 19/19] Improve unit name SSN generation Names shorter than the required 9 characters are now reused until we have 9 characters - making for fully unique generation. To keep things distributed as pleasantly as possible they're itterated over with a step of two - alternating between odd and even indexes every full loop. Similarly, the slice of string used for names longer than 9 characters is now offset based on the length of the name. --- addons/dogtags/functions/fnc_ssn.sqf | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/addons/dogtags/functions/fnc_ssn.sqf b/addons/dogtags/functions/fnc_ssn.sqf index 62f5745a407..adf5d1c6f85 100644 --- a/addons/dogtags/functions/fnc_ssn.sqf +++ b/addons/dogtags/functions/fnc_ssn.sqf @@ -6,18 +6,26 @@ * 0: Name of a unit * * Return Value: - * A random social security number + * A random three/two/four format social security number * * Public: No */ #include "script_component.hpp" params ["_name"]; +private _length = count _name; +private _chars = toArray _name; -private _nums = ((toArray _name) select [0,9]) apply { _x % 10 }; - -while {count _nums < 9} do { - _nums pushBack (floor random 10); +// For short names, reuse characters +if (_length < 9) then { + // Iterates every second character, swapping odd/even with each loop + for [{_i = 0},{_i < 2*(9 - _length)},{_i = _i + 2}] do { + _chars pushBack (_chars select floor((_i + (_i/_length % 2)) % _length)); + }; }; +// Offset array slice for long names to make generation more unique +private _slice = [0, _length % 9] select (_length > 9); +private _nums = (_chars select [_slice, 9]) apply { _x % 10 }; + ([_nums select [0,3],_nums select [3,2], _nums select [5,4]] apply { _x joinString "" }) joinString "-"