rename lead shot to lead bullet and clean up script

console-destruction
Maikel de Vries 2016-08-16 23:37:17 +02:00
parent d2557960ae
commit 45bb9ab550
41 changed files with 94 additions and 98 deletions

View File

@ -289,7 +289,7 @@ private func InitLorries()
if (!Random(8))
{
lorry->CreateContents(Musket);
lorry->CreateContents(LeadShot);
lorry->CreateContents(LeadBullet);
}
}
// Create two lorries at the main cave.

View File

@ -253,7 +253,7 @@ global func CreateChestContents(id obj_id)
if (obj_id == Bow)
obj->CreateContents(Arrow);
if (obj_id == Musket)
obj->CreateContents(LeadShot);
obj->CreateContents(LeadBullet);
obj->Enter(this);
return;
}

View File

@ -255,7 +255,7 @@ global func CreateChestContents(id obj_id)
if (obj_id == Bow)
obj->CreateContents(Arrow);
if (obj_id == Musket)
obj->CreateContents(LeadShot);
obj->CreateContents(LeadBullet);
if (obj_id == GrappleBow)
AddEffect("NotTooLong",obj,100,36);

View File

@ -142,7 +142,7 @@ global func CreateChestContents(id obj_id)
if (obj_id == Bow)
obj->CreateContents(Arrow);
if (obj_id == Musket)
obj->CreateContents(LeadShot);
obj->CreateContents(LeadBullet);
obj->Enter(this);
return;
}

View File

@ -12,7 +12,7 @@ private func FireWeapon(object clonk, int angle)
if(king_size)
{
var box = CreateObjectAbove(LeadShot,0,0,this->GetOwner());
var box = CreateObjectAbove(LeadBullet,0,0,this->GetOwner());
shot->LessDamage();
shot->Launch(clonk,angle,iBarrel,260+Random(40));
shot=box->TakeObject();

View File

@ -1,4 +1,4 @@
#appendto LeadShot
#appendto LeadBullet
local lowering;
public func LessDamage() { lowering=6; SetClrModulation(RGB(255,128,0)); }

View File

@ -329,7 +329,7 @@ global func CreateChestContents(id obj_id)
if (obj_id == Bow)
obj->CreateContents(Arrow);
if (obj_id == Musket)
obj->CreateContents(LeadShot);
obj->CreateContents(LeadBullet);
obj->Enter(this);
return;
}

View File

@ -122,7 +122,7 @@ global func CreateChestContents(id obj_id)
if (obj_id == Bow)
obj->CreateContents([Arrow, BombArrow][Random(2)]);
if (obj_id == Musket)
obj->CreateContents(LeadShot);
obj->CreateContents(LeadBullet);
obj->Enter(this);
return;
}

View File

@ -115,7 +115,7 @@ global func CreateChestContents(id obj_id)
if (obj_id == Bow)
obj->CreateContents(Arrow);
if (obj_id == Musket)
obj->CreateContents(LeadShot);
obj->CreateContents(LeadBullet);
obj->Enter(this);
return;
}

View File

@ -238,7 +238,7 @@ if (!this)
if (obj_id == Bow)
obj->CreateContents(Arrow);
if (obj_id == Musket)
obj->CreateContents(LeadShot);
obj->CreateContents(LeadBullet);
obj->Enter(this);
return;
}

View File

@ -3,7 +3,7 @@
#appendto Arrow
#appendto Javelin
#appendto LeadShot
#appendto LeadBullet
#appendto Boompack
#appendto Shrapnel

View File

@ -113,7 +113,7 @@ func JoinPlayer(plr, prev_clonk)
arrow->SetInfiniteStackCount();
}
//clonk->CreateContents(Musket);
//clonk->Collect(CreateObjectAbove(LeadShot));
//clonk->Collect(CreateObjectAbove(LeadBullet));
clonk->~CrewSelection(); // force update HUD
return;
}
@ -129,7 +129,7 @@ func FillHomebase(object homebase)
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Weapon { item = Bow, ammo = Arrow, desc = "$HomebaseDescBow$" });
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Weapon { item = Sword, cost = 25 });
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Consumable { item = Firestone, cost = 5});
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Weapon { item = Musket, cost = 50, ammo = LeadShot, desc = "$HomebaseDescMusket$", requirements = ["AdvancedWeapons"] });
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Weapon { item = Musket, cost = 50, ammo = LeadBullet, desc = "$HomebaseDescMusket$", requirements = ["AdvancedWeapons"] });
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Consumable { item = IronBomb, cost = 15, requirements = ["AdvancedWeapons"] });
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Consumable { item = DynamiteBox,cost = 15, requirements = ["AdvancedWeapons"] });
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Weapon { item = GrenadeLauncher, ammo = IronBomb, desc = "$HomebaseDescGrenadeLauncher$", requirements = ["MasterWeapons"] });

View File

@ -123,7 +123,7 @@ func FillHomebase(object homebase)
homebase->AddCaption("$HomebaseWeapons$");
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Weapon { item = Bow, ammo = Arrow, desc = "$HomebaseDescBow$" });
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Weapon { item = Javelin, cost = 10, desc = "$HomebaseDescJavelin$" , infinite = true});
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Weapon { item = Musket, cost = 50, ammo = LeadShot, desc = "$HomebaseDescMusket$", requirements = ["AdvancedWeapons"] });
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Weapon { item = Musket, cost = 50, ammo = LeadBullet, desc = "$HomebaseDescMusket$", requirements = ["AdvancedWeapons"] });
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Weapon { item = GrenadeLauncher, ammo = IronBomb, desc = "$HomebaseDescGrenadeLauncher$", requirements = ["MasterWeapons"] });
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Weapon { item = WindBag, cost = 500, desc = "$HomebaseDescWindBag$", requirements = ["MasterWeapons"] });

View File

@ -482,7 +482,7 @@ func InitializeObjects()
Chest006->CreateContents(Musket);
Chest006->CreateContents(LeadShot, 3);
Chest006->CreateContents(LeadBullet, 3);
Clonk009->CreateContents(Javelin, 3);
Clonk008->CreateContents(Javelin, 3);

View File

@ -236,7 +236,7 @@ func InitializeObjects()
Chest0225->CreateContents(Musket);
Chest0225->CreateContents(LeadShot);
Chest0225->CreateContents(LeadBullet);
Chest0224->CreateContents(Dynamite);
Chest0225->CreateContents(Dynamite);

View File

@ -134,7 +134,7 @@ private func GiveWeapon(id weapon_id)
if (weapon_id == Bow)
newobj->CreateContents(Arrow);
if (weapon_id == Musket)
newobj->CreateContents(LeadShot);
newobj->CreateContents(LeadBullet);
crew->Collect(newobj);
return;
}

View File

@ -673,7 +673,7 @@ private func HasArrows(fx, object weapon)
private func HasAmmo(fx, object weapon)
{
if (weapon->Contents(0)) return true;
if (FindObject(Find_Container(this), Find_Func("IsMusketAmmo"))) return true;
if (FindObject(Find_Container(this), Find_Func("IsBullet"))) return true;
return false;
}

View File

@ -1,2 +0,0 @@
Name=Bleikugel
Description=Munition für die Muskete.

View File

@ -1,2 +0,0 @@
Name=Lead shot
Description=Ammunition for the musket.

View File

@ -1,5 +1,5 @@
[DefCore]
id=LeadShot
id=LeadBullet
Version=6,0
Category=C4D_Object
Width=8

View File

@ -1,47 +1,49 @@
/*-- Musket Ball --*/
/**
Lead Bullet
Ammunition for various weapons.
@author Ringwall, Maikel
*/
#include Library_Stackable
public func MaxStackCount() { return 8; }
public func IsMusketAmmo() { return true; }
public func IsBullet() { return true; }
public func ProjectileDamage() { return 15; }
public func TumbleStrength() { return 100; }
public func FlightTime() { return 30; }
protected func Hit()
{
if(GetEffect("HitCheck",this))
if (GetEffect("HitCheck", this))
{
RemoveEffect("HitCheck",this);
RemoveEffect("HitCheck", this);
Sound("Objects::Weapons::Musket::BulletHitGround?");
CreateParticle("StarSpark", 0, 0, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(10, 20), Particles_Glimmer(), 3);
RemoveObject();
}
return;
}
public func Launch(object shooter, int angle, int dist, int speed, int offset_x, int offset_y)
{
SetController(shooter->GetController());
AddEffect("HitCheck", this, 1,1, nil,nil, shooter);
AddEffect("HitCheck", this, 1, 1, nil, nil, shooter);
LaunchProjectile(angle, dist, speed, offset_x, offset_y);
// remove after some time
// Remove after some time.
SetAction("Travel");
SetComDir(COMD_None);
//Smush vertexes into one point
// Smush vertexes into one point.
SquishVertices(true);
// neat trail
CreateObjectAbove(BulletTrail,0,0)->Set(2, 200, this);
// Neat trail.
CreateObjectAbove(BulletTrail, 0, 0)->Set(2, 200, this);
// sound
// Sound.
Sound("Objects::Weapons::Musket::BulletShot?");
}
@ -57,66 +59,60 @@ public func HitObject(object obj)
obj->~OnProjectileHit(this);
WeaponDamage(obj, this->ProjectileDamage(), FX_Call_EngObjHit, false);
WeaponTumble(obj, this->TumbleStrength());
if (!this) return;
if (!this)
return;
}
RemoveObject();
return;
}
func UpdatePicture()
public func UpdatePicture()
{
var Shots=GetStackCount();
if(Shots>=MaxStackCount()) SetGraphics(nil);
if(Shots<MaxStackCount()) SetGraphics(Format("%d",Shots));
//Realigns vertex points if >1
if(Shots==1)
{
SquishVertices(true);
}
if(Shots>1)
{
SquishVertices(false);
}
var nr_bullets = GetStackCount();
if (nr_bullets >= MaxStackCount())
SetGraphics(nil);
if (nr_bullets < MaxStackCount())
SetGraphics(Format("%d", nr_bullets));
// Realigns vertex points if more than one bullet.
var do_squish = nr_bullets == 1;
SquishVertices(do_squish);
_inherited(...);
}
private func SquishVertices(bool squish)
{
if(squish==true)
if (squish)
{
SetVertex(1,VTX_X,0,2);
SetVertex(1,VTX_Y,0,2);
SetVertex(2,VTX_X,0,2);
SetVertex(2,VTX_Y,0,2);
return 1;
SetVertex(1, VTX_X, 0, 2);
SetVertex(1, VTX_Y, 0, 2);
SetVertex(2, VTX_X, 0, 2);
SetVertex(2, VTX_Y, 0, 2);
}
if(squish!=true)
else
{
SetVertex(1,VTX_X,-3,2);
SetVertex(1,VTX_Y,1,2);
SetVertex(2,VTX_X,3,2);
SetVertex(2,VTX_Y,1,2);
return 0;
SetVertex(1, VTX_X, -3, 2);
SetVertex(1, VTX_Y, 1, 2);
SetVertex(2, VTX_X, 3, 2);
SetVertex(2, VTX_Y, 1, 2);
}
return;
}
protected func Traveling()
{
if(GetActTime() > FlightTime()) RemoveObject();
if (GetActTime() > FlightTime())
RemoveObject();
}
public func TrailColor(int time)
{
return RGBa(255,255,255,240*Max(0,FlightTime()-time)/FlightTime());
return RGBa(255, 255, 255, 240 * Max(0, FlightTime() - time) / FlightTime());
}
public func IsArmoryProduct() { return true; }
local ActMap = {
Travel = {
Prototype = Action,
Name = "Travel",

View File

@ -0,0 +1,2 @@
Name=Bleikugel
Description=Munition für zahlreiche Waffen.

View File

@ -0,0 +1,2 @@
Name=Lead bullet
Description=Ammunition for various weapons.

View File

@ -52,7 +52,7 @@ func Hit()
func RejectCollect(id shotid, object shot)
{
// Only collect musket-ammo
if(!(shot->~IsMusketAmmo())) return true;
if(!(shot->~IsBullet())) return true;
}
/*-- Callbacks --*/
@ -73,7 +73,7 @@ public func FinishedAiming(object clonk, int angle)
if(!loaded) return;
// Fire
if(Contents(0) && Contents(0)->IsMusketAmmo())
if(Contents(0) && Contents(0)->IsBullet())
FireWeapon(clonk, angle);
clonk->StartShoot(this);
return true;
@ -101,7 +101,7 @@ public func ControlUseStart(object clonk, int x, int y)
{
// put something inside
var obj;
if(obj = FindObject(Find_Container(clonk), Find_Func("IsMusketAmmo")))
if(obj = FindObject(Find_Container(clonk), Find_Func("IsBullet")))
{
obj->Enter(this);
}

View File

@ -34,7 +34,7 @@ protected func Initialize()
protected func RejectCollect(id def, object obj)
{
// Only accept munition and clonks.
if (def != LeadShot && def != Boompack && !(obj->GetOCF() & OCF_CrewMember))
if (def != LeadBullet && def != Boompack && !(obj->GetOCF() & OCF_CrewMember))
return true;
return false;
}
@ -45,7 +45,7 @@ protected func RejectCollect(id def, object obj)
public func ContainedUseStart(object clonk, int x, int y)
{
//return ContainedUseAltStart(clonk, x, y);
var ammo = FindObject(Find_Container(this), Find_Func("IsMusketAmmo"));
var ammo = FindObject(Find_Container(this), Find_Func("IsBullet"));
if (!ammo)
{
CustomMessage("$NoShots$", this, clonk->GetOwner());
@ -62,7 +62,7 @@ protected func FxFireBulletsStart(object target, proplist effect, int temp)
effect.reticle = CreateObject(GUI_Reticle);
effect.reticle->SetOwner(this->GetController());
effect.reticle->SetAction("Show", this);
var ammo = FindObject(Find_Container(this), Find_Func("IsMusketAmmo"));
var ammo = FindObject(Find_Container(this), Find_Func("IsBullet"));
if (!ammo)
return FX_Execute_Kill;
FireBullet(ammo);
@ -71,7 +71,7 @@ protected func FxFireBulletsStart(object target, proplist effect, int temp)
protected func FxFireBulletsTimer(object target, proplist effect, int time)
{
var ammo = FindObject(Find_Container(this), Find_Func("IsMusketAmmo"));
var ammo = FindObject(Find_Container(this), Find_Func("IsBullet"));
if (!ammo)
return FX_Execute_Kill;
FireBullet(ammo);
@ -84,7 +84,7 @@ protected func FxFireBulletsStop(object target, proplist effect, int reason, boo
return FX_OK;
if (effect.reticle)
effect.reticle->RemoveObject();
return FX_OK;
return FX_OK;
}
private func FireBullet(object ammo)

View File

@ -101,9 +101,9 @@ private func InitMaterials(int amount)
var chest = CreateObjectAbove(Chest, pos.x, pos.y);
chest->CreateContents(Dynamite, 4);
chest->CreateContents(Club, 4);
chest->CreateContents(Musket)->CreateContents(LeadShot);
chest->CreateContents(Musket)->CreateContents(LeadShot);
chest->CreateContents(Musket)->CreateContents(LeadShot);
chest->CreateContents(Musket)->CreateContents(LeadBullet);
chest->CreateContents(Musket)->CreateContents(LeadBullet);
chest->CreateContents(Musket)->CreateContents(LeadBullet);
chest->CreateContents(IronBomb, 4);
chest->CreateContents(GrenadeLauncher)->CreateContents(IronBomb);
chest->CreateContents(GrenadeLauncher)->CreateContents(IronBomb);

View File

@ -130,7 +130,7 @@ global func Test2_OnFinished()
global func Test3_OnStart(int plr)
{
CreateEnemy(Clonk, 120, 258, script_enemy1, [Musket, LeadShot, Sword], 50);
CreateEnemy(Clonk, 120, 258, script_enemy1, [Musket, LeadBullet, Sword], 50);
CreateEnemy(Clonk, 392, 258, script_enemy2, [Sword, Bow, Arrow], 50);
// Log what the test is about.
Log("AI battle: musket vs. bow.");

View File

@ -131,7 +131,7 @@ func InitializePlayer(int iPlr, int iX, int iY, object pBase, int iTeam)
clonk->SetPosition(425, 498);
clonk->DoEnergy(100000);
clonk->CreateContents(Musket);
clonk->CreateContents(LeadShot);
clonk->CreateContents(LeadBullet);
clonk->CreateContents(GrappleBow);
clonk->CreateContents(Bow);
clonk->Collect(CreateObjectAbove(Arrow));

View File

@ -407,7 +407,7 @@ global func Test15_OnStart(object victim, object killer, object fake_killer)
victim->DoEnergy(-45);
var musket = killer->CreateContents(Musket);
musket->CreateContents(LeadShot);
musket->CreateContents(LeadBullet);
musket.loaded = true;
musket->ControlUseStart(killer, 20, -8);
musket->ControlUseStop(killer, 20, -8);
@ -461,7 +461,7 @@ global func Test19_OnStart(object victim, object killer, object fake_killer)
CreateObject(PowderKeg, 240, 140);
var musket = killer->CreateContents(Musket);
musket->CreateContents(LeadShot);
musket->CreateContents(LeadBullet);
musket.loaded = true;
musket->ControlUseStart(killer, 20, -8);
musket->ControlUseStop(killer, 20, -8);
@ -601,7 +601,7 @@ global func Test28_OnStart(object victim, object killer, object fake_killer)
balloon->ControlUseStart(victim);
var musket = killer->CreateContents(Musket);
musket->CreateContents(LeadShot);
musket->CreateContents(LeadBullet);
musket.loaded = true;
musket->ControlUseStart(killer, victim->GetX() - killer->GetX(), victim->GetY() - killer->GetY());
musket->ControlUseStop(killer, victim->GetX() - killer->GetX(), victim->GetY() - killer->GetY());
@ -619,7 +619,7 @@ global func Test29_OnStart(object victim, object killer, object fake_killer)
balloon->ControlUseStart(victim);
var musket = killer->CreateContents(Musket);
musket->CreateContents(LeadShot);
musket->CreateContents(LeadBullet);
musket.loaded = true;
musket->ControlUseStart(killer, victim->GetActionTarget()->GetX() - killer->GetX(), victim->GetActionTarget()->GetY() - killer->GetY());
musket->ControlUseStop(killer, victim->GetActionTarget()->GetX() - killer->GetX(), victim->GetActionTarget()->GetY() - killer->GetY());
@ -744,7 +744,7 @@ global func Test37_OnStart(object victim, object killer, object fake_killer)
CreateObject(Boompack, 240, 146)->SetR(90);
var musket = killer->CreateContents(Musket);
musket->CreateContents(LeadShot);
musket->CreateContents(LeadBullet);
musket.loaded = true;
musket->ControlUseStart(killer, 20, -7);
musket->ControlUseStop(killer, 20, -7);
@ -781,7 +781,7 @@ global func Test39_OnStart(object victim, object killer, object fake_killer)
victim->SetPosition(330, 150);
var musket = killer->CreateContents(Musket);
musket->CreateContents(LeadShot);
musket->CreateContents(LeadBullet);
musket.loaded = true;
musket->ControlUseStart(killer, airship->GetX() - killer->GetX(), airship->GetY() - killer->GetY() - 12);
musket->ControlUseStop(killer, airship->GetX() - killer->GetX(), airship->GetY() - killer->GetY() - 12);

View File

@ -1514,10 +1514,10 @@ global func Test22_Execute()
var musket_d = CreateObject(Musket);
var musket_e = CreateObject(Musket);
musket_a->CreateContents(LeadShot);
musket_b->CreateContents(LeadShot);
musket_c->CreateContents(LeadShot)->SetStackCount(7);
musket_d->CreateContents(LeadShot)->SetInfiniteStackCount();
musket_a->CreateContents(LeadBullet);
musket_b->CreateContents(LeadBullet);
musket_c->CreateContents(LeadBullet)->SetStackCount(7);
musket_d->CreateContents(LeadBullet)->SetInfiniteStackCount();
passed &= doTest("Musket with 8 shots can be stacked with musket with 8 shots. Got %v, expected %v.", musket_a->CanBeStackedWith(musket_b), true);
passed &= doTest("Musket with 8 shots cannot be stacked with musket with 7 shots. Got %v, expected %v.", musket_a->CanBeStackedWith(musket_c), false);

View File

@ -45,13 +45,13 @@ public func Outro_Init(int for_plr)
this.henchman1->Enter(this.airplane1);
this.henchman1->SetAction("Walk");
this.henchman1->SetColor(0xff000000);
this.henchman1->CreateContents(Musket)->CreateContents(LeadShot);
this.henchman1->CreateContents(Musket)->CreateContents(LeadBullet);
this.henchman2 = CreateObject(Clonk);
this.henchman2->SetAlternativeSkin("Leather");
this.henchman2->Enter(this.airplane2);
this.henchman2->SetAction("Walk");
this.henchman2->SetColor(0xff000000);
this.henchman2->CreateContents(Musket)->CreateContents(LeadShot);
this.henchman2->CreateContents(Musket)->CreateContents(LeadBullet);
// Another henchman which will control the lookout.
this.henchman3 = CreateObject(Clonk);
@ -59,7 +59,7 @@ public func Outro_Init(int for_plr)
this.henchman3->Enter(this.airplane2);
this.henchman3->SetAction("Walk");
this.henchman3->SetColor(0xff000000);
this.henchman3->CreateContents(Musket)->CreateContents(LeadShot);
this.henchman3->CreateContents(Musket)->CreateContents(LeadBullet);
// The faction leader which will do the talking.
this.leader = CreateObject(Clonk);
@ -68,7 +68,7 @@ public func Outro_Init(int for_plr)
this.leader->Enter(this.airplane1);
this.leader->SetAction("Walk");
this.leader->SetColor(0xff000000);
this.leader->CreateContents(Musket)->CreateContents(LeadShot);
this.leader->CreateContents(Musket)->CreateContents(LeadBullet);
// There is also a kidnapper on an airship with a lorry to collect the wipfs.
// The third henchman shoots down the balloons.

View File

@ -72,7 +72,7 @@ private func InitCave()
// A hidden chest with a musket.
var chest = CreateObjectAbove(Chest, 10, 526);
var musket = chest->CreateContents(Musket);
musket->CreateContents(LeadShot);
musket->CreateContents(LeadBullet);
return;
}

View File

@ -87,7 +87,7 @@ global func GivePlayerWeaponryKnowledge(int plr)
// Armory to construct the weapons.
Armory,
// Weapons and explosives.
Bow, Arrow, FireArrow, BombArrow, Club, Sword, Javelin, Shield, Musket, LeadShot, IronBomb, GrenadeLauncher, PowderKeg,
Bow, Arrow, FireArrow, BombArrow, Club, Sword, Javelin, Shield, Musket, LeadBullet, IronBomb, GrenadeLauncher, PowderKeg,
// Artillery vehicles.
Catapult, Cannon
];