alias bsp "ls maps/*.bsp"
alias chmap "changelevel ${* ?}"
alias clearmap "disconnect"
+alias devmap "set _developer_save $developer; set developer 1; changelevel ${* ?}; set developer $_developer_save"
alias ply "playdemo $1"
alias rec "record demos/${1 !}"
alias search "apropos ${* ?}"
set con_completion_tdem *.dem
set con_completion_exec *.cfg
set con_completion_chmap map
+set con_completion_devmap map
set con_completion_gotomap map
set con_completion_vmap map
set con_completion_vnextmap map
--- /dev/null
+1 8 20 0 // fire
+9 5 20 0 // fire2
+15 200 20 1 // idle
+215 40 20 0 // reload
border = max(8, panel_bg_border); // FORCED border so a small border size doesn't mean you can't resize
// move
- if(allow_move && mousepos_x >= panel_pos_x && mousepos_y >= panel_pos_y && mousepos_x <= panel_pos_x + panel_size_x && mousepos_y <= panel_pos_y + panel_size_y)
+ if(allow_move && mousepos_x > panel_pos_x && mousepos_y > panel_pos_y && mousepos_x < panel_pos_x + panel_size_x && mousepos_y < panel_pos_y + panel_size_y)
{
return 1;
}
border = max(8, panel_bg_border); // FORCED border so a small border size doesn't mean you can't resize
// move
- if(allow_move && mousepos_x >= panel_pos_x && mousepos_y >= panel_pos_y && mousepos_x <= panel_pos_x + panel_size_x && mousepos_y <= panel_pos_y + panel_size_y)
+ if(allow_move && mousepos_x > panel_pos_x && mousepos_y > panel_pos_y && mousepos_x < panel_pos_x + panel_size_x && mousepos_y < panel_pos_y + panel_size_y)
{
highlightedPanel = i;
HUD_Panel_FirstInDrawQ(i);
#define TUBA_MIN -18
#define TUBA_MAX 27
-#define TUBA_INSTRUMENTS 2
+#define TUBA_INSTRUMENTS 3
#define TUBA_STARTNOTE(i,n) strcat("weapons/tuba", (i ? ftos(i) : ""), "_loopnote", ftos(n), ".wav")
.float note; // note
string parm;
string cmdstr;
- sp = strstrofs(cmdstr, " ", 0);
- if(sp < 0)
+ sp = strstrofs(cmdstring, " ", 0);
+ if(sp >= 0)
{
- parm = "";
- }
- else
- {
- parm = substring(cmdstr, sp + 1, -1);
- cmdstr = substring(cmdstr, 0, sp);
+ parm = substring(cmdstring, sp + 1, -1);
+ cmdstr = substring(cmdstring, 0, sp);
if(cmdstr == "sound")
- precache_sound(cmdstr);
+ {
+ // find the LAST word
+ for(;;)
+ {
+ sp = strstrofs(parm, " ", 0);
+ if(sp < 0)
+ break;
+ parm = substring(parm, sp + 1, -1);
+ }
+ precache_sound(parm);
+ }
}
}
string f;
f = bot_cmd.bot_cmd_parm_string;
+ float n = tokenizebyseparator(f, " ");
+
+ string sample = f;
+ float chan = CH_WEAPON_B;
+ float vol = VOL_BASE;
+ float atten = ATTN_MIN;
+
+ if(n >= 1)
+ sample = argv(n - 1);
+ if(n >= 2)
+ chan = stof(argv(0));
+ if(n >= 3)
+ vol = stof(argv(1));
+ if(n >= 4)
+ atten = stof(argv(2));
+
precache_sound(f);
- sound(self, CH_WEAPON_B, f, VOL_BASE, ATTN_MIN);
+ sound(self, chan, sample, vol, atten);
return CMD_STATUS_FINISHED;
}
if(!self.wp00 && !self.wp01 && !self.wp02 && !self.wp03)
objerror("No reference entity found, so there is nothing to move. Aborting.");
- self.destvec = self.origin - func_vectormamamam_origin(self.owner, 0);
+ self.destvec = self.origin - func_vectormamamam_origin(self, 0);
entity controller;
controller = spawn();
case 1:
bprint(strcat("\{1}\{13}* ^3", self.owner.netname, "^3 played on the @!#%'n Accordeon: ^7", s, "\n"));
break;
+ case 2:
+ bprint(strcat("\{1}\{13}* ^3", self.owner.netname, "^3 played on the @!#%'n Klein Bottle: ^7", s, "\n"));
+ break;
}
}
}
precache_model ("models/weapons/g_tuba.md3");
precache_model ("models/weapons/v_tuba.md3");
precache_model ("models/weapons/h_tuba.iqm");
- precache_model ("models/weapons/g_akordeon.md3");
precache_model ("models/weapons/v_akordeon.md3");
precache_model ("models/weapons/h_akordeon.iqm");
+ precache_model ("models/weapons/v_kleinbottle.md3");
+ precache_model ("models/weapons/h_kleinbottle.iqm");
//float i;
//for(i = -18; i <= +27; ++i)
self.weaponname = "akordeon";
break;
case 1:
+ self.tuba_instrument = 2;
+ self.weaponname = "kleinbottle";
+ break;
+ case 2:
self.tuba_instrument = 0;
self.weaponname = "tuba";
break;
case 1: // Accordeon
w_deathtypestring = _("%s hurt his own ears with the @!#%%'n Accordeon");
break;
+ case 2: // Klein Bottle
+ w_deathtypestring = _("%s hurt his own ears with the @!#%%'n Klein Bottle");
+ break;
}
}
else if (req == WR_KILLMESSAGE)
case 1: // Accordeon
w_deathtypestring = _("%s died of %s's great playing on the @!#%%'n Accordeon");
break;
+ case 2: // Klein Bottle
+ w_deathtypestring = _("%s died of %s's great playing on the @!#%%'n Klein Bottle");
+ break;
}
}
return TRUE;