diff --git a/planet/BackToTheRocks.ocf/MoltenMonarch.ocs/System.ocg/MultipleSelection.c b/planet/BackToTheRocks.ocf/MoltenMonarch.ocs/System.ocg/MultipleSelection.c deleted file mode 100644 index 03d79eb5f..000000000 --- a/planet/BackToTheRocks.ocf/MoltenMonarch.ocs/System.ocg/MultipleSelection.c +++ /dev/null @@ -1,42 +0,0 @@ -/* larger dynamite explosion */ - -#appendto RelaunchContainer - -private func OpenWeaponMenu(object clonk) -{ - if (!menu) - { - var weapons = WeaponList(); - if(weapons) - { - menu = clonk->CreateRingMenu(Clonk, this); - for (var weapon in weapons) - { - if(weapon == Firestone) menu->AddItem(weapon,2); - else if(weapon == Dynamite) menu->AddItem(weapon,2); - else menu->AddItem(weapon); - } - menu->Show(); - } - } -} - - -public func Selected(object menu, object selector, bool alt) -{ - if (!selector) - return false; - - for (var i = 0; i < selector->GetAmount(); i++) - { - var newobj = CreateObject(selector->GetSymbol()); - if (newobj->GetID() == Bow) - newobj->CreateContents(Arrow); - if (newobj->GetID() == Musket) - newobj->CreateContents(LeadShot); - Contents()->Collect(newobj); - } - menu->Show(); - RelaunchClonk(); - return true; -} \ No newline at end of file diff --git a/planet/BackToTheRocks.ocf/RockBottom.ocs/System.ocg/MultipleSelection.c b/planet/BackToTheRocks.ocf/RockBottom.ocs/System.ocg/MultipleSelection.c index 4c82ffad1..bc7145e30 100644 --- a/planet/BackToTheRocks.ocf/RockBottom.ocs/System.ocg/MultipleSelection.c +++ b/planet/BackToTheRocks.ocf/RockBottom.ocs/System.ocg/MultipleSelection.c @@ -1,5 +1,3 @@ -/* larger dynamite explosion */ - #appendto RelaunchContainer private func OpenWeaponMenu(object clonk) @@ -14,30 +12,10 @@ private func OpenWeaponMenu(object clonk) { if(weapon == Firestone) menu->AddItem(weapon,2); else if(weapon == Dynamite) menu->AddItem(weapon,2); - else menu->AddItem(weapon); + else menu->AddItem(weapon, 1); } menu->Show(); menu->SetUncloseable(); } } } - - -public func Selected(object menu, object selector, bool alt) -{ - if (!selector) - return false; - - for (var i = 0; i < selector->GetAmount(); i++) - { - var newobj = CreateObject(selector->GetSymbol()); - if (newobj->GetID() == Bow) - newobj->CreateContents(Arrow); - if (newobj->GetID() == Musket) - newobj->CreateContents(LeadShot); - Contents()->Collect(newobj); - } - menu->Show(); - RelaunchClonk(); - return true; -} \ No newline at end of file diff --git a/planet/Objects.ocd/Goals.ocd/LastManStanding.ocd/Relaunch.ocd/Script.c b/planet/Objects.ocd/Goals.ocd/LastManStanding.ocd/Relaunch.ocd/Script.c index 743251d93..c63652f10 100644 --- a/planet/Objects.ocd/Goals.ocd/LastManStanding.ocd/Relaunch.ocd/Script.c +++ b/planet/Objects.ocd/Goals.ocd/LastManStanding.ocd/Relaunch.ocd/Script.c @@ -62,7 +62,7 @@ private func OpenWeaponMenu(object clonk) { menu = clonk->CreateRingMenu(Clonk, this); for (var weapon in weapons) - menu->AddItem(weapon); + menu->AddItem(weapon, 1); menu->Show(); menu->SetUncloseable(); } @@ -96,7 +96,11 @@ public func Selected(object menu, object selector, bool alt) if (!selector) return false; - for (var i = 0; i < selector->GetAmount(); i++) + var amount = selector->GetAmount(); + if (amount > 1) + alt = nil; + + for (var i = 0; i < amount; i++) GiveWeapon(selector->GetSymbol(), alt); has_selected = true; diff --git a/planet/Objects.ocd/HUD.ocd/Ringmenu.ocd/Menupoint.ocd/Script.c b/planet/Objects.ocd/HUD.ocd/Ringmenu.ocd/Menupoint.ocd/Script.c index 255522e7d..3c2c054f0 100644 --- a/planet/Objects.ocd/HUD.ocd/Ringmenu.ocd/Menupoint.ocd/Script.c +++ b/planet/Objects.ocd/HUD.ocd/Ringmenu.ocd/Menupoint.ocd/Script.c @@ -40,12 +40,8 @@ public func SetBG(bool newbg) { public func SetNothing() // No item, no image, no whatever, just a plain button { - SetAmount(0); + SetAmount(nil); SetSymbol(); - SetGraphics(nil,nil,9); - SetGraphics(nil,nil,10); - SetGraphics(nil,nil,11); - SetGraphics(nil,nil,12); } public func SetSize(int s) // in px *1000 @@ -122,9 +118,15 @@ public func SetExtraData(extradata) } public func SetAmount(Amount) { - - amnt=Amount; - if(Amount==1) return ; + amnt = Amount; + if (Amount == nil) + { + SetGraphics(nil,nil,MI_AMOUNTX_LAYER); + SetGraphics(nil,nil,MI_AMOUNT1_LAYER); + SetGraphics(nil,nil,MI_AMOUNT10_LAYER); + SetGraphics(nil,nil,MI_AMOUNT100_LAYER); + return; + } var one = Amount%10; var ten = (Amount/10)%10; var hun = (Amount/100)%10; diff --git a/planet/Objects.ocd/HUD.ocd/Ringmenu.ocd/Script.c b/planet/Objects.ocd/HUD.ocd/Ringmenu.ocd/Script.c index 07f7d552e..e76e2edba 100644 --- a/planet/Objects.ocd/HUD.ocd/Ringmenu.ocd/Script.c +++ b/planet/Objects.ocd/HUD.ocd/Ringmenu.ocd/Script.c @@ -102,14 +102,7 @@ public func AddItem(new_item, int amount, extra) menu_icons[index] = CreateObject(GUI_RingMenu_Icon,0,0,menu_object->GetOwner()); menu_icons[index]->SetSymbol(new_item); menu_icons[index]->SetExtraData(extra); - if(amount == nil) - { - menu_icons[index]->SetAmount(1); - } - else - { - menu_icons[index]->SetAmount(amount); - } + menu_icons[index]->SetAmount(amount); menu_icons[index].Visibility = VIS_None; return index; } diff --git a/planet/Objects.ocd/Structures.ocd/Flagpole.ocd/Script.c b/planet/Objects.ocd/Structures.ocd/Flagpole.ocd/Script.c index 3c205cfe9..7b46de4d4 100644 --- a/planet/Objects.ocd/Structures.ocd/Flagpole.ocd/Script.c +++ b/planet/Objects.ocd/Structures.ocd/Flagpole.ocd/Script.c @@ -39,10 +39,10 @@ public func GetInteractionMetaInfo(object clonk) public func Interact(object clonk) { var menu; - var i=0,item,player=clonk->GetOwner(), amount; - while (item = GetHomebaseMaterial(player, nil, i++)) + var i = 0, item, amount; + while (item = GetHomebaseMaterial(GetOwner(), nil, i++)) { - amount = GetHomebaseMaterial(player, item); + amount = GetHomebaseMaterial(GetOwner(), item); // Add even if amount==0 if (!menu) menu = clonk->CreateRingMenu(Flagpole, this); if (!menu) return false; @@ -65,8 +65,11 @@ public func Selected(object menu, proplist menu_item, bool alt) // Excess objects exit flag (can't get them out...) var i = ContentsCount(); var obj; - while (i--) if (obj = Contents(i)) Contents(i)->Exit(); + while (i--) + if (obj = Contents(i)) + Contents(i)->Exit(0, GetDefHeight() / 2); // Update available count - menu_item->SetAmount(GetHomebaseMaterial(clonk->GetOwner(), def)); + menu_item->SetAmount(GetHomebaseMaterial(GetOwner(), def)); + menu->Show(); return true; }