- set up proper inheritance for breakables.

This commit is contained in:
Christoph Oelckers 2023-04-23 17:12:30 +02:00
parent 700e0ce1eb
commit 486745a4e1

View file

@ -1,283 +1,332 @@
class DukeRobotmouse: DukeActor class DukeRobotmouse : DukeActor // ROBOTMOUSE (4407)
{ {
const ROBOTMOUSESTRENGTH = 45;
default default
{ {
pic "ROBOTMOUSE"; pic "ROBOTMOUSE";
Strength ROBOTMOUSESTRENGTH;
} }
} }
class DukeBurger: DukeActor // these virtuals need to be on DukeActor to ensure that ChangeType is safe for breakables.
extend class DukeActor
{
virtual void BrkKilled(DukePlayer p, double pdist) {}
virtual void BrkHit() {}
}
class DukeScriptedBreakable : DukeActor
{
const PIRATEGALSTRENGTH = 200;
const DOLPHINSTRENGTH = 50;
}
class DukeBurger : DukeScriptedBreakable // DUKEBURGER (4570)
{ {
default default
{ {
pic "DUKEBURGER"; pic "DUKEBURGER";
Strength PIRATEGALSTRENGTH;
// action "ABURGERROTS", 0, 1, 5;
// StartAction "ABURGERROTS";
} }
} }
class DukeMop : DukeActor // (4497) class DukeMop : DukeScriptedBreakable // MOP (4497)
{ {
default default
{ {
pic "MOP"; pic "MOP";
Strength WEAK;
} }
} }
class DukeBroom : DukeActor // (4496) class DukeBroom : DukeScriptedBreakable // BROOM (4496)
{ {
default default
{ {
pic "BROOM"; pic "BROOM";
Strength WEAK;
} }
} }
class DukeWetFloor : DukeScriptedBreakable // WETFLOOR (4495)
class DukeWetFloor : DukeActor // (4495)
{ {
default default
{ {
pic "WETFLOOR"; pic "WETFLOOR";
Strength WEAK;
} }
} }
class DukeDeskLamp : DukeScriptedBreakable // DESKLAMP (4370)
class DukeDeskLamp : DukeActor // (4370)
{ {
default default
{ {
pic "DESKLAMP"; pic "DESKLAMP";
Strength WEAK;
} }
} }
class DukeHatRack : DukeScriptedBreakable // HATRACK (4367)
class DukeHatRack : DukeActor // (4367)
{ {
default default
{ {
pic "HATRACK"; pic "HATRACK";
Strength WEAK;
} }
} }
class DukeCoffeeMachine : DukeScriptedBreakable // COFFEEMACHINE (4372)
class DukeCoffeeMachine : DukeActor // (4372)
{ {
default default
{ {
pic "COFFEEMACHINE"; pic "COFFEEMACHINE";
Strength WEAK;
} }
} }
class DukeGunpowderbarrel : DukeScriptedBreakable // GUNPOWDERBARREL (4360)
class DukeGunpowderbarrel: DukeActor
{ {
default default
{ {
pic "GUNPOWDERBARREL"; pic "GUNPOWDERBARREL";
Strength TOUGH;
} }
} }
class DukeFoodObject1 : DukeScriptedBreakable // FOODOBJECT1 (4530)
class DukeFoodObject1 : DukeActor // (4530)
{ {
default default
{ {
pic "FOODOBJECT1"; pic "FOODOBJECT1";
Strength WEAK;
} }
} }
class DukeFoodObject2 : DukeScriptedBreakable // FOODOBJECT2 (4531)
class DukeFoodObject2: DukeActor
{ {
default default
{ {
pic "FOODOBJECT2"; pic "FOODOBJECT2";
Strength WEAK;
+NOGRAVITY;
} }
} }
class DukeFoodObject3 : DukeScriptedBreakable // FOODOBJECT3 (4532)
class DukeFoodObject3 : DukeActor // (4532)
{ {
default default
{ {
pic "FOODOBJECT3"; pic "FOODOBJECT3";
Strength WEAK;
} }
} }
class DukeFoodObject4 : DukeScriptedBreakable // FOODOBJECT4 (4533)
class DukeFoodObject4 : DukeActor // (4533)
{ {
default default
{ {
pic "FOODOBJECT4"; pic "FOODOBJECT4";
Strength WEAK;
} }
} }
class DukeFoodObject5 : DukeScriptedBreakable // FOODOBJECT5 (4534)
class DukeFoodObject5 : DukeActor // (4534)
{ {
default default
{ {
pic "FOODOBJECT5"; pic "FOODOBJECT5";
Strength WEAK;
} }
} }
class DukeFoodObject6 : DukeScriptedBreakable // FOODOBJECT11 (4540)
class DukeFoodObject6: DukeActor
{ {
default default
{ {
pic "FOODOBJECT6"; pic "FOODOBJECT6";
Strength WEAK;
+NOGRAVITY;
} }
}
class DukeFoodObject7 : DukeActor // (4536) }
class DukeFoodObject7 : DukeScriptedBreakable // FOODOBJECT7 (4536)
{ {
default default
{ {
pic "FOODOBJECT7"; pic "FOODOBJECT7";
Strength WEAK;
} }
} }
class DukeFoodObject8 : DukeScriptedBreakable // FOODOBJECT8 (4537)
class DukeFoodObject8 : DukeActor // (4537)
{ {
default default
{ {
pic "FOODOBJECT8"; pic "FOODOBJECT8";
Strength WEAK;
} }
} }
class DukeFoodObject9 : DukeScriptedBreakable // FOODOBJECT9 (4538)
class DukeFoodObject9 : DukeActor // (4538)
{ {
default default
{ {
pic "FOODOBJECT9"; pic "FOODOBJECT9";
Strength WEAK;
} }
} }
class DukeFoodObject10 : DukeScriptedBreakable // FOODOBJECT10 (4539)
class DukeFoodObject10 : DukeActor // (4539)
{ {
default default
{ {
pic "FOODOBJECT10"; pic "FOODOBJECT10";
Strength WEAK;
} }
} }
class DukeFoodObject11 : DukeScriptedBreakable // FOODOBJECT11 (4540)
class DukeFoodObject11: DukeActor
{ {
default default
{ {
pic "FOODOBJECT11"; pic "FOODOBJECT11";
Strength WEAK;
} }
} }
class DukeFoodObject12 : DukeFoodObject11 // FOODOBJECT12 (4541)
class DukeFoodObject12: DukeActor
{ {
default default
{ {
pic "FOODOBJECT12"; pic "FOODOBJECT12";
Strength WEAK;
} }
} }
class DukeFoodObject13: DukeActor class DukeFoodObject13 : DukeFoodObject11 // FOODOBJECT13 (4542)
{ {
default default
{ {
pic "FOODOBJECT13"; pic "FOODOBJECT13";
Strength WEAK;
} }
} }
class DukeFoodObject14: DukeActor class DukeFoodObject14 : DukeFoodObject11 // FOODOBJECT14 (4543)
{ {
default default
{ {
pic "FOODOBJECT14"; pic "FOODOBJECT14";
Strength WEAK;
} }
} }
class DukeFoodObject15: DukeActor class DukeFoodObject15 : DukeFoodObject11 // FOODOBJECT15 (4544)
{ {
default default
{ {
pic "FOODOBJECT15"; pic "FOODOBJECT15";
Strength WEAK;
} }
} }
class DukeFoodObject16: DukeActor class DukeFoodObject16 : DukeFoodObject11 // FOODOBJECT16 (4545)
{ {
default default
{ {
pic "FOODOBJECT16"; pic "FOODOBJECT16";
Strength WEAK;
} }
} }
class DukeFoodObject17: DukeActor class DukeFoodObject17 : DukeFoodObject11 // FOODOBJECT17 (4546)
{ {
default default
{ {
pic "FOODOBJECT17"; pic "FOODOBJECT17";
Strength WEAK;
} }
} }
class DukeFoodObject18 : DukeScriptedBreakable // FOODOBJECT18 (4547)
class DukeFoodObject18 : DukeActor // (4547)
{ {
default default
{ {
pic "FOODOBJECT18"; pic "FOODOBJECT18";
Strength WEAK;
} }
} }
class DukeFoodObject19 : DukeScriptedBreakable // FOODOBJECT19 (4548)
class DukeFoodObject19 : DukeActor // (4548)
{ {
default default
{ {
pic "FOODOBJECT19"; pic "FOODOBJECT19";
Strength WEAK;
} }
} }
class DukeFoodObject20 : DukeScriptedBreakable // FOODOBJECT20 (4549)
class DukeFoodObject20 : DukeActor // (4549)
{ {
default default
{ {
pic "FOODOBJECT20"; pic "FOODOBJECT20";
Strength WEAK;
} }
} }
class DukeSkinnedChicken : DukeFoodObject6 // SKINNEDCHICKEN (4554)
class DukeSkinnedChicken: DukeActor
{ {
default default
{ {
pic "SKINNEDCHICKEN"; pic "SKINNEDCHICKEN";
Strength WEAK;
} }
} }
class DukeFeatheredChicken: DukeActor class DukeFeatheredChicken : DukeFoodObject6 // FEATHEREDCHICKEN (4555)
{ {
default default
{ {
pic "FEATHEREDCHICKEN"; pic "FEATHEREDCHICKEN";
Strength WEAK;
} }
} }
class DukeTopSecret: DukeActor class DukeTopSecret : DukeScriptedBreakable // TOPSECRET (4396)
{ {
default default
{ {
pic "TOPSECRET"; pic "TOPSECRET";
Strength WEAK;
+NOGRAVITY;
} }
} }
class DukeDolphin1: DukeActor class DukeDolphin1 : DukeScriptedBreakable // DOLPHIN1 (4591)
{ {
default default
{ {
pic "DOLPHIN1"; pic "DOLPHIN1";
Strength DOLPHINSTRENGTH;
+NOGRAVITY;
} }
}
class DukeDolphin2: DukeActor }
class DukeDolphin2 : DukeDolphin1 // DOLPHIN2 (4592)
{ {
default default
{ {
pic "DOLPHIN2"; pic "DOLPHIN2";
} }
} }
class DukeRobotDog2: DukeActor class DukeRobotDog2 : DukeScriptedBreakable // ROBOTDOG2 (4560)
{ {
default default
{ {
pic "ROBOTDOG2"; pic "ROBOTDOG2";
Strength TOUGH;
} }
} }
class DukeClock: DukeActor class DukeClock : DukeScriptedBreakable // CLOCK (1060)
{ {
default default
{ {
pic "CLOCK"; pic "CLOCK";
Strength WEAK;
+NOGRAVITY;
} }
} }
class DukeBrokenClock: DukeActor class DukeBrokenClock: DukeActor
@ -288,260 +337,265 @@ class DukeBrokenClock: DukeActor
} }
} }
class DukeTeddybear: DukeActor class DukeTeddybear : DukeScriptedBreakable // TEDDYBEAR (4400)
{ {
default default
{ {
pic "TEDDYBEAR"; pic "TEDDYBEAR";
Strength WEAK;
} }
} }
class DukePirate1A: DukeActor class DukePirate1A : DukeScriptedBreakable // PIRATE1A (4510)
{ {
default default
{ {
pic "PIRATE1A"; pic "PIRATE1A";
Strength PIRATEGALSTRENGTH;
} }
} }
class DukePirate2A : DukePirate1A // PIRATE2A (4512)
class DukePirate2A: DukeActor
{ {
default default
{ {
pic "PIRATE2A"; pic "PIRATE2A";
} }
} }
class DukePirate3A : DukePirate1A // PIRATE3A (4514)
class DukePirate3A: DukeActor
{ {
default default
{ {
pic "PIRATE3A"; pic "PIRATE3A";
} }
} }
class DukePirate4A : DukePirate1A // PIRATE4A (4511)
class DukePirate4A: DukeActor
{ {
default default
{ {
pic "PIRATE4A"; pic "PIRATE4A";
} }
} }
class DukePirate5A : DukePirate1A // PIRATE5A (4513)
class DukePirate5A: DukeActor
{ {
default default
{ {
pic "PIRATE5A"; pic "PIRATE5A";
} }
} }
class DukePirate6A : DukePirate1A // PIRATE6A (4515)
class DukePirate6A: DukeActor
{ {
default default
{ {
pic "PIRATE6A"; pic "PIRATE6A";
} }
} }
class DukeMan : DukePirate1A // MAN (4871)
class DukeMan: DukeActor
{ {
default default
{ {
pic "MAN"; pic "MAN";
Strength PIRATEGALSTRENGTH;
} }
} }
class DukeMan2 : DukePirate1A // MAN2 (4872)
class DukeMan2: DukeActor
{ {
default default
{ {
pic "MAN2"; pic "MAN2";
Strength PIRATEGALSTRENGTH;
} }
} }
class DukeWoman : DukeScriptedBreakable // WOMAN (4874)
class DukeWoman : DukeActor // (4874)
{ {
default default
{ {
pic "WOMAN"; pic "WOMAN";
Strength PIRATEGALSTRENGTH;
} }
} }
class DukeRobotpirate : DukeScriptedBreakable // ROBOTPIRATE (4404)
class DukeRobotpirate: DukeActor
{ {
default default
{ {
pic "ROBOTPIRATE"; pic "ROBOTPIRATE";
Strength PIRATEGALSTRENGTH;
} }
} }
class DukePirateHalf : DukeScriptedBreakable // PIRATEHALF (4516)
class DukePirateHalf : DukeActor // (4516)
{ {
default default
{ {
pic "PIRATEHALF"; pic "PIRATEHALF";
Strength TOUGH;
} }
} }
class DukeChestOfGold : DukeScriptedBreakable // CHESTOFGOLD (4520)
class DukeChestOfGold : DukeActor // (4520)
{ {
default default
{ {
pic "CHESTOFGOLD"; pic "CHESTOFGOLD";
Strength WEAK;
} }
} }
class DukeRobotDog : DukeScriptedBreakable // ROBOTDOG (4402)
class DukeRobotDog : DukeActor // (4402)
{ {
default default
{ {
pic "ROBOTDOG"; pic "ROBOTDOG";
Strength PIRATEGALSTRENGTH;
} }
} }
class DukePleaseWait : DukeScriptedBreakable // PLEASEWAIT (4887)
class DukePleaseWait : DukeActor // (4887)
{ {
default default
{ {
pic "PLEASEWAIT"; pic "PLEASEWAIT";
} }
} }
class DukeJollyMeal: DukeActor class DukeJollyMeal : DukeScriptedBreakable // JOLLYMEAL (4569)
{ {
default default
{ {
pic "JOLLYMEAL"; pic "JOLLYMEAL";
Strength WEAK;
} }
} }
class DukeGumballMachine : DukeScriptedBreakable // GUMBALLMACHINE (4458)
class DukeGumballMachine: DukeActor
{ {
default default
{ {
pic "GUMBALLMACHINE"; pic "GUMBALLMACHINE";
Strength WEAK;
} }
} }
class DukeGumballMachineBroke : DukeScriptedBreakable // GUMBALLMACHINEBROKE (4459)
class DukeGumballMachineBroke: DukeActor
{ {
default default
{ {
pic "GUMBALLMACHINEBROKE"; pic "GUMBALLMACHINEBROKE";
Strength WEAK;
} }
} }
class DukePoliceLightPole : DukeScriptedBreakable // POLICELIGHTPOLE (4377)
class DukePoliceLightPole: DukeActor
{ {
default default
{ {
pic "POLICELIGHTPOLE"; pic "POLICELIGHTPOLE";
Strength TOUGH;
} }
} }
class DukeMailbag : DukeScriptedBreakable // MAILBAG (4413)
class DukeMailbag: DukeActor
{ {
default default
{ {
pic "MAILBAG"; pic "MAILBAG";
Strength WEAK;
} }
} }
class DukeHeadLamp : DukeScriptedBreakable // HEADLAMP (4550)
class DukeHeadLamp : DukeActor // (4550)
{ {
default default
{ {
pic "HEADLAMP"; pic "HEADLAMP";
Strength WEAK;
} }
} }
class DukeSnakep : DukeScriptedBreakable // SNAKEP (4590)
class DukeSnakep: DukeActor
{ {
default default
{ {
pic "SNAKEP"; pic "SNAKEP";
Strength MEDIUMSTRENGTH;
} }
} }
class DukeDonuts : DukeScriptedBreakable // DONUTS (1045)
class DukeDonuts: DukeActor
{ {
default default
{ {
pic "DONUTS"; pic "DONUTS";
Strength WEAK;
} }
} }
class DukeGavals : DukeActor // (4374) class DukeGavals : DukeScriptedBreakable // GAVALS (4374)
{ {
default default
{ {
pic "GAVALS"; pic "GAVALS";
Strength WEAK;
} }
} }
class DukeGavals2 : DukeScriptedBreakable // GAVALS2 (4375)
class DukeGavals2 : DukeActor // (4375)
{ {
default default
{ {
pic "GAVALS2"; pic "GAVALS2";
Strength WEAK;
} }
} }
class DukeCups : DukeScriptedBreakable // CUPS (4373)
class DukeCups : DukeActor // (4373)
{ {
default default
{ {
pic "CUPS"; pic "CUPS";
Strength WEAK;
} }
} }
class DukeDonuts2 : DukeScriptedBreakable // DONUTS2 (4440)
class DukeDonuts2: DukeActor
{ {
default default
{ {
pic "DONUTS2"; pic "DONUTS2";
Strength WEAK;
} }
} }
class DukeFloorbasket : DukeScriptedBreakable // FLOORBASKET (4388)
class DukeFloorbasket: DukeActor
{ {
default default
{ {
pic "FLOORBASKET"; pic "FLOORBASKET";
Strength WEAK;
} }
} }
class DukeMeter : DukeActor // (4453) class DukeMeter : DukeScriptedBreakable // METER (4453)
{ {
default default
{ {
pic "METER"; pic "METER";
Strength WEAK;
} }
} }
class DukeDeskPhone : DukeActor // (4454) class DukeDeskPhone : DukeScriptedBreakable // DESKPHONE (4454)
{ {
default default
{ {
pic "DESKPHONE"; pic "DESKPHONE";
Strength WEAK;
} }
} }
class DukeMace : DukeScriptedBreakable // MACE (4464)
class DukeMace : DukeActor // (4464)
{ {
default default
{ {
pic "MACE"; pic "MACE";
Strength WEAK;
} }
} }
class DukeShoppingCart: DukeActor class DukeShoppingCart : DukeScriptedBreakable // SHOPPINGCART (4576)
{ {
default default
{ {
pic "SHOPPINGCART"; pic "SHOPPINGCART";
Strength WEAK;
} }
} }
class DukeCoffeeMug : DukeActor // (4438) class DukeCoffeeMug : DukeScriptedBreakable // COFFEEMUG (4438)
{ {
default default
{ {
pic "COFFEEMUG"; pic "COFFEEMUG";
Strength WEAK;
} }
} }