Fight for GIDL: Moved buy menu entries into scenario script.

shapetextures
Clonkonaut 2015-12-16 16:43:34 +01:00
parent ea90ccf3d9
commit 3f4a770f93
6 changed files with 80 additions and 74 deletions

View File

@ -52,28 +52,8 @@ public func Construction(...)
// Buy menu
buy_menu = CreateObject(GUI_BuyMenu, 0,0, GetOwner());
buy_menu->SetHomebase(this);
// Initial availability of items
AddCaption("$Weapons$");
AddHomebaseItem(new ITEMTYPE_Weapon { item = Bow, ammo = Arrow, desc = "$DescBow$" });
AddHomebaseItem(new ITEMTYPE_Weapon { item = Sword, cost = 25 });
AddHomebaseItem(new ITEMTYPE_Consumable { item = Firestone, cost = 5});
AddHomebaseItem(new ITEMTYPE_Weapon { item = Musket, cost = 50, ammo = LeadShot, desc = "$DescMusket$", requirements = ["AdvancedWeapons"] });
AddHomebaseItem(new ITEMTYPE_Consumable { item = IronBomb, cost = 15, requirements = ["AdvancedWeapons"] });
AddHomebaseItem(new ITEMTYPE_Consumable { item = DynamiteBox,cost = 15, requirements = ["AdvancedWeapons"] });
AddHomebaseItem(new ITEMTYPE_Weapon { item = GrenadeLauncher, ammo = IronBomb, desc = "$DescGrenadeLauncher$", requirements = ["MasterWeapons"] });
AddCaption("$Items$");
AddHomebaseItem(new ITEMTYPE_Consumable { item = Bread, cost = 5 });
AddHomebaseItem(new ITEMTYPE_Weapon { item = Hammer, cost = 1000, desc = "$DescHammer$", extra_width = 1 });
AddCaption("$Technology$");
AddHomebaseItem(new ITEMTYPE_Technology { name="$AdvancedWeapons$", item = Icon_World,cost = 100, desc="$DescAdvancedWeapons$", tech = "AdvancedWeapons" });
AddHomebaseItem(new ITEMTYPE_Technology { name="$MasterWeapons$", item = Icon_World,cost = 1000, desc = "$DescMasterWeapons$", tech = "MasterWeapons", requirements = ["AdvancedWeapons"] });
AddCaption("$Upgrades$");
AddHomebaseItem(new ITEMTYPE_Technology { name="$LoadSpeed$", item = Homebase_Icon, graphics="LoadSpeed%d", costs = [100, 500, 1000], desc = "$DescLoadSpeed$", tech = "LoadSpeed", tiers=3 });
AddHomebaseItem(new ITEMTYPE_Technology { name="$Life$", item = Homebase_Icon, graphics="Life%d", costs = [10, 50, 100], desc = "$DescLife$", tech = "Life", tiers=3 });
AddCaption("$Artifacts$");
// Get available items
GameCall("FillHomebase", this);
// Buy menu always open (but hidden at start)
buy_menu->Open();
@ -86,6 +66,11 @@ public func Destruction()
return true;
}
public func SetQuickbuyItems(array list)
{
g_quickbuy_items = list;
}
public func AddCaption(string title, array requirements)
{
return AddHomebaseItem({is_caption = true, title=title, requirements=requirements});
@ -360,13 +345,4 @@ private func GainLife(proplist entry, int tier)
clonk->DoEnergy(clonk.MaxEnergy, true);
}
return true;
}
public func Definition(def)
{
// Arrays in static const are broken
// So init them here
g_quickbuy_items = [Hammer, Bow, Sword, Musket, GrenadeLauncher, nil, Firestone, IronBomb, nil, nil];
}
}

View File

@ -1,23 +1,3 @@
Requirements=Benoetigt
Tier=Stufe
Cost=Preis
Weapons=Waffen
Items=Gegenstaende
Technology=Technologie
Upgrades=Verbesserungen
Artifacts=Artefakte
DescBow=Klassische Fernkampfwaffe. Endlos Pfeile.
DescMusket=Moderne Feuerwaffe. Endlos Munition.
DescGrenadeLauncher=Schleudert Bomben in die Gegner. Endlos Bomben.
DescHammer=Zum Errichten von Verteidigungstuermen und anderen Gebaeuden.
LoadSpeed=Nachladezeit
DescLoadSpeed=Verkuerzt den Ladevorgang von Fernkampfwaffen.
Life=Lebensenergie
DescLife=Erhoeht die Lebensenergie des Clonks.
AdvancedWeapons=Fortgeschrittene Waffen
DescAdvancedWeapons=Schaltet mehr Waffen und Upgrades frei.
MasterWeapons=Meisterwaffen
DescMasterWeapons=Schaltet mehr Waffen und Upgrades frei.
Cost=Preis

View File

@ -1,23 +1,3 @@
Requirements=Requires
Tier=Tier
Cost=Price
Weapons=Weapons
Items=Items
Technology=Technology
Upgrades=Upgrades
Artifacts=Artifacts
DescBow=Classic ranged weapon. Infinite arrows.
DescMusket=Modern fire weapon. Infinite ammunition.
DescGrenadeLauncher=Launches bombs at the enemies. Infinite bombs.
DescHammer=To construct defensive towers and other buildings.
LoadSpeed=Load speed
DescLoadSpeed=Shortens reload time of ranged weapons.
Life=Life energy
DescLife=Makes your clonk able to take more damage.
AdvancedWeapons=Advanced weapons
DescAdvancedWeapons=Unlocks more weapons and upgrades.
MasterWeapons=Master weapons
DescMasterWeapons=Unlocks more weapons and upgrades.
Cost=Price

View File

@ -119,6 +119,36 @@ func JoinPlayer(plr, prev_clonk)
return;
}
// Enter all buyable things into the homebase
func FillHomebase(object homebase)
{
// Quick buy items on hotkeys
homebase->SetQuickbuyItems([Hammer, Bow, Sword, Musket, GrenadeLauncher, nil, Firestone, IronBomb, nil, nil]);
// Buy menu entries
homebase->AddCaption("$HomebaseWeapons$");
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_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"] });
homebase->AddCaption("$HomebaseItems$");
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Consumable { item = Bread, cost = 5 });
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Weapon { item = Hammer, cost = 1000, desc = "$HomebaseDescHammer$", extra_width = 1 });
homebase->AddCaption("$HomebaseTechnology$");
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Technology { name="$HomebaseAdvancedWeapons$", item = Icon_World,cost = 100, desc="$HomebaseDescAdvancedWeapons$", tech = "AdvancedWeapons" });
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Technology { name="$HomebaseMasterWeapons$", item = Icon_World,cost = 1000, desc = "$HomebaseDescMasterWeapons$", tech = "MasterWeapons", requirements = ["AdvancedWeapons"] });
homebase->AddCaption("$HomebaseUpgrades$");
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Technology { name="$HomebaseLoadSpeed$", item = Homebase_Icon, graphics="LoadSpeed%d", costs = [100, 500, 1000], desc = "$HomebaseDescLoadSpeed$", tech = "LoadSpeed", tiers=3 });
homebase->AddHomebaseItem(new Homebase.ITEMTYPE_Technology { name="$HomebaseLife$", item = Homebase_Icon, graphics="Life%d", costs = [10, 50, 100], desc = "$HomebaseDescLife$", tech = "Life", tiers=3 });
homebase->AddCaption("$HomebaseArtifacts$");
}
func StartGame()
{
// Init objects to defend

View File

@ -19,3 +19,23 @@ WaveBows=Fernkampfalarm!
TeamAttackers=Angreifer
TeamDefenders=Verteidiger
HomebaseWeapons=Waffen
HomebaseItems=Gegenstaende
HomebaseTechnology=Technologie
HomebaseUpgrades=Verbesserungen
HomebaseArtifacts=Artefakte
HomebaseDescBow=Klassische Fernkampfwaffe. Endlos Pfeile.
HomebaseDescMusket=Moderne Feuerwaffe. Endlos Munition.
HomebaseDescGrenadeLauncher=Schleudert Bomben in die Gegner. Endlos Bomben.
HomebaseDescHammer=Zum Errichten von Verteidigungstuermen und anderen Gebaeuden.
HomebaseLoadSpeed=Nachladezeit
HomebaseDescLoadSpeed=Verkuerzt den Ladevorgang von Fernkampfwaffen.
HomebaseLife=Lebensenergie
HomebaseDescLife=Erhoeht die Lebensenergie des Clonks.
HomebaseAdvancedWeapons=Fortgeschrittene Waffen
HomebaseDescAdvancedWeapons=Schaltet mehr Waffen und Upgrades frei.
HomebaseMasterWeapons=Meisterwaffen
HomebaseDescMasterWeapons=Schaltet mehr Waffen und Upgrades frei.

View File

@ -19,3 +19,23 @@ WaveBows=Bowmen alarm!
TeamAttackers=Attackers
TeamDefenders=Defenders
HomebaseWeapons=Weapons
HomebaseItems=Items
HomebaseTechnology=Technology
HomebaseUpgrades=Upgrades
HomebaseArtifacts=Artifacts
HomebaseDescBow=Classic ranged weapon. Infinite arrows.
HomebaseDescMusket=Modern fire weapon. Infinite ammunition.
HomebaseDescGrenadeLauncher=Launches bombs at the enemies. Infinite bombs.
HomebaseDescHammer=To construct defensive towers and other buildings.
HomebaseLoadSpeed=Load speed
HomebaseDescLoadSpeed=Shortens reload time of ranged weapons.
HomebaseLife=Life energy
HomebaseDescLife=Makes your clonk able to take more damage.
HomebaseAdvancedWeapons=Advanced weapons
HomebaseDescAdvancedWeapons=Unlocks more weapons and upgrades.
HomebaseMasterWeapons=Master weapons
HomebaseDescMasterWeapons=Unlocks more weapons and upgrades.