rename lead shot to lead bullet and clean up script
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#appendto LeadShot
|
||||
#appendto LeadBullet
|
||||
|
||||
local lowering;
|
||||
public func LessDamage() { lowering=6; SetClrModulation(RGB(255,128,0)); }
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#appendto Arrow
|
||||
#appendto Javelin
|
||||
#appendto LeadShot
|
||||
#appendto LeadBullet
|
||||
#appendto Boompack
|
||||
#appendto Shrapnel
|
||||
|
||||
|
|
|
@ -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"] });
|
||||
|
|
|
@ -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"] });
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -236,7 +236,7 @@ func InitializeObjects()
|
|||
|
||||
Chest0225->CreateContents(Musket);
|
||||
|
||||
Chest0225->CreateContents(LeadShot);
|
||||
Chest0225->CreateContents(LeadBullet);
|
||||
|
||||
Chest0224->CreateContents(Dynamite);
|
||||
Chest0225->CreateContents(Dynamite);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
Name=Bleikugel
|
||||
Description=Munition für die Muskete.
|
|
@ -1,2 +0,0 @@
|
|||
Name=Lead shot
|
||||
Description=Ammunition for the musket.
|
|
@ -1,5 +1,5 @@
|
|||
[DefCore]
|
||||
id=LeadShot
|
||||
id=LeadBullet
|
||||
Version=6,0
|
||||
Category=C4D_Object
|
||||
Width=8
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
@ -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",
|
|
@ -0,0 +1,2 @@
|
|||
Name=Bleikugel
|
||||
Description=Munition für zahlreiche Waffen.
|
|
@ -0,0 +1,2 @@
|
|||
Name=Lead bullet
|
||||
Description=Ammunition for various weapons.
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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.");
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
|