Add in hp and atk growth rate displays on level ups. Make increase and decrease buttons disable when the appropriate sell/buy amounts have been reached. Sell inventory count now shows up in the selling window. Add Lock/Unlock input helper display on merchant accessory sell window. Fix missing collision tile in 1-1. Release Build 7992. Patch Version 0.5.
This commit is contained in:
		
							parent
							
								
									68bdb6bc26
								
							
						
					
					
						commit
						588e184764
					
				| @ -61,6 +61,20 @@ void Menu::InitializeBuyItemWindow(){ | ||||
| 		if(!canPurchase)colorCode="#FF0000"; | ||||
| 		Component<MenuLabel>(BUY_ITEM,"Total Price Amount Label")->SetLabel(colorCode+std::to_string(qty*pricePerItem)); | ||||
| 		Component<MenuComponent>(BUY_ITEM,"Purchase Button")->SetGrayedOut(!canPurchase); | ||||
| 		 | ||||
| 		if(qty==99||pricePerItem*(qty+1)>game->GetPlayer()->GetMoney()){ | ||||
| 			Component<MenuComponent>(BUY_ITEM,"Increase buy amount Button")->SetGrayedOut(true); | ||||
| 			Menu::menus[BUY_ITEM]->SetSelection(static_cast<std::weak_ptr<MenuComponent>>(Component<MenuComponent>(BUY_ITEM,"Decrease buy amount Button"))); | ||||
| 		}else{ | ||||
| 			Component<MenuComponent>(BUY_ITEM,"Increase buy amount Button")->SetGrayedOut(false); | ||||
| 		} | ||||
| 
 | ||||
| 		if(qty<=1){ | ||||
| 			Component<MenuComponent>(BUY_ITEM,"Decrease buy amount Button")->SetGrayedOut(true); | ||||
| 			Menu::menus[BUY_ITEM]->SetSelection(static_cast<std::weak_ptr<MenuComponent>>(Component<MenuComponent>(BUY_ITEM,"Increase buy amount Button"))); | ||||
| 		}else{ | ||||
| 			Component<MenuComponent>(BUY_ITEM,"Decrease buy amount Button")->SetGrayedOut(false); | ||||
| 		} | ||||
| 	}; | ||||
| 
 | ||||
| 	buyItemWindow->ADD("Item Purchase Header",MenuLabel)(geom2d::rect<float>{{2,2},{188,12}},"Buying ",1.f,ComponentAttr::OUTLINE|ComponentAttr::BACKGROUND|ComponentAttr::SHADOW|ComponentAttr::FIT_TO_LABEL)END; | ||||
| @ -175,8 +189,8 @@ void Menu::InitializeBuyItemWindow(){ | ||||
| 			.left="Decrease buy amount Button", | ||||
| 			.right="Decrease buy amount Button",}}, | ||||
| 		{"Decrease buy amount Button",{ | ||||
| 			.up="Cancel Button", | ||||
| 			.down="Cancel Button", | ||||
| 			.up="Purchase Button", | ||||
| 			.down="Purchase Button", | ||||
| 			.left="Increase buy amount Button", | ||||
| 			.right="Increase buy amount Button",}}, | ||||
| 	}); | ||||
|  | ||||
| @ -382,8 +382,9 @@ void Menu::InitializeCharacterMenuWindow(){ | ||||
| 		}}}, | ||||
| 		{game->KEY_BACK,{"Back",[](MenuType type){ | ||||
| 			if(!Menu::menus[type]->GetSelection().expired()&& | ||||
| 				!Menu::menus[type]->GetSelection().lock()->parentComponent.expired()&& | ||||
| 				Menu::menus[type]->GetSelection().lock()->parentComponent.lock()->GetName()=="Equip List"){ | ||||
| 				(!Menu::menus[type]->GetSelection().lock()->parentComponent.expired()&& | ||||
| 				Menu::menus[type]->GetSelection().lock()->parentComponent.lock()->GetName()=="Equip List")|| | ||||
| 				Menu::menus[type]->GetSelection().lock()->GetName()=="Equip Selection Select Button"){ | ||||
| 				Component<MenuComponent>(type,"Equip Selection Select Button")->Click(); | ||||
| 			}else{ | ||||
| 				Component<MenuComponent>(type,"Back button")->Click(); | ||||
|  | ||||
| @ -110,8 +110,12 @@ void Menu::InitializeMerchantWindow(){ | ||||
| 	auto inventoryDisplay=merchantWindow->ADD("Merchant Inventory Display",RowInventoryScrollableWindowComponent)(geom2d::rect<float>{{2,28},{220,merchantWindow->size.y-44}},"Item Name Label","Item Description Label", | ||||
| 		[](MenuFuncData data){ | ||||
|             std::weak_ptr<RowItemDisplay>item=DYNAMIC_POINTER_CAST<RowItemDisplay>(data.component.lock()); | ||||
| 
 | ||||
| 			int qty=1; | ||||
| 			int pricePerItem=item.lock()->GetItem().lock()->BuyValue(); | ||||
| 
 | ||||
| 			Component<MenuLabel>(BUY_ITEM,"Item Purchase Header")->S(A::ITEM_NAME)=item.lock()->GetItem().lock()->ActualName(); | ||||
| 			Component<MenuLabel>(BUY_ITEM,"Price per item Amount Label")->SetLabel(std::to_string(item.lock()->GetItem().lock()->BuyValue())); | ||||
| 			Component<MenuLabel>(BUY_ITEM,"Price per item Amount Label")->SetLabel(std::to_string(pricePerItem)); | ||||
| 			Component<MenuLabel>(BUY_ITEM,"Amount to buy Amount Label")->SetLabel("1"); | ||||
| 			Component<MenuLabel>(BUY_ITEM,"Total Price Amount Label")->SetLabel(std::to_string(item.lock()->GetItem().lock()->BuyValue())); | ||||
| 			Merchant&merchant=Merchant::GetCurrentTravelingMerchant(); | ||||
| @ -122,6 +126,14 @@ void Menu::InitializeMerchantWindow(){ | ||||
| 			Component<MenuLabel>(BUY_ITEM,"Total Price Amount Label")->SetLabel(colorCode+std::to_string(item.lock()->GetItem().lock()->BuyValue())); | ||||
| 			Component<MenuLabel>(BUY_ITEM,"Item Purchase Header")->SetLabel("Buying "+item.lock()->GetItem().lock()->DisplayName()); | ||||
| 			Component<MenuComponent>(BUY_ITEM,"Purchase Button")->SetGrayedOut(!merchant.CanPurchaseItem(item.lock()->GetItem().lock()->ActualName(),1)); | ||||
| 			Component<MenuComponent>(BUY_ITEM,"Decrease buy amount Button")->SetGrayedOut(true); | ||||
| 
 | ||||
| 			if(pricePerItem*(qty+1)>game->GetPlayer()->GetMoney()){ | ||||
| 				Component<MenuComponent>(BUY_ITEM,"Increase buy amount Button")->SetGrayedOut(true); | ||||
| 			}else{ | ||||
| 				Component<MenuComponent>(BUY_ITEM,"Increase buy amount Button")->SetGrayedOut(false); | ||||
| 			} | ||||
| 
 | ||||
| 			Menu::OpenMenu(BUY_ITEM); | ||||
| 			return true; | ||||
| 		}, | ||||
| @ -185,7 +197,7 @@ void Menu::InitializeMerchantWindow(){ | ||||
| 					if(item.lock()->GetItem().lock()->CanBeSold()){ | ||||
| 						Component<ItemMenuLabel>(SELL_ITEM,"Item Sell Header")->SetItem(item.lock()->GetItem()); | ||||
| 						Component<MenuLabel>(SELL_ITEM,"Price per item Amount Label")->SetLabel(std::to_string(item.lock()->GetItem().lock()->SellValue())); | ||||
| 						Component<MenuLabel>(SELL_ITEM,"Amount to sell Amount Label")->SetLabel("1"); | ||||
| 						Component<MenuLabel>(SELL_ITEM,"Amount to sell Amount Label")->SetLabel(std::format("{}/{}",1,Inventory::GetItemCount(item.lock()->GetItem().lock()->ActualName()))); | ||||
| 						Component<MenuLabel>(SELL_ITEM,"Total Price Amount Label")->SetLabel(std::to_string(item.lock()->GetItem().lock()->SellValue())); | ||||
| 						Merchant&merchant=Merchant::GetCurrentTravelingMerchant(); | ||||
| 						bool canPurchase=merchant.CanSellItem(item.lock()->GetItem(),1); | ||||
| @ -195,6 +207,15 @@ void Menu::InitializeMerchantWindow(){ | ||||
| 						Component<MenuLabel>(SELL_ITEM,"Total Price Amount Label")->SetLabel(colorCode+std::to_string(item.lock()->GetItem().lock()->SellValue())); | ||||
| 						Component<MenuLabel>(SELL_ITEM,"Item Sell Header")->SetLabel("Selling "+item.lock()->GetItem().lock()->DisplayName()); | ||||
| 						Component<MenuComponent>(SELL_ITEM,"Sell Button")->SetGrayedOut(!merchant.CanSellItem(item.lock()->GetItem(),1)); | ||||
| 						Component<MenuComponent>(SELL_ITEM,"Decrease sell amount Button")->SetGrayedOut(true); | ||||
| 						 | ||||
| 						int qty=1; | ||||
| 						int inventoryQty=Inventory::GetItemCount(item.lock()->GetItem().lock()->ActualName()); | ||||
| 						if(qty>=inventoryQty){ | ||||
| 							Component<MenuComponent>(SELL_ITEM,"Increase sell amount Button")->SetGrayedOut(true); | ||||
| 						}else{ | ||||
| 							Component<MenuComponent>(SELL_ITEM,"Increase sell amount Button")->SetGrayedOut(false); | ||||
| 						} | ||||
| 						Menu::OpenMenu(SELL_ITEM); | ||||
| 					} | ||||
| 					return true; | ||||
| @ -334,9 +355,7 @@ void Menu::InitializeMerchantWindow(){ | ||||
| 			} | ||||
| 		}}}, | ||||
| 		{{game->KEY_SCROLL,Pressed},{"Navigate",[](MenuType type){}}}, | ||||
| 		{game->KEY_CONFIRM,{"Select",[](MenuType type){}}}, | ||||
| 		{game->KEY_SELECT,{[](MenuFuncData data){ | ||||
| 			/* //Too wordy, let's leave it out for now.
 | ||||
| 			if(!data.menu.GetSelection().expired()&& | ||||
| 				!data.menu.GetSelection().lock()->parentComponent.expired()&& | ||||
| 				data.menu.GetSelection().lock()->parentComponent.lock()->GetName()=="Inventory Display - Accessories"){ | ||||
| @ -345,7 +364,7 @@ void Menu::InitializeMerchantWindow(){ | ||||
| 				}else{ | ||||
| 					return "Lock"; | ||||
| 				} | ||||
| 			}*/ | ||||
| 			} | ||||
| 			return ""; | ||||
| 		},[](MenuType type){ | ||||
| 			if(!Menu::menus[type]->GetSelection().expired()&& | ||||
|  | ||||
| @ -1427,4 +1427,12 @@ const bool Player::IsInvisible()const{ | ||||
| 
 | ||||
| void Player::ResetVelocity(){ | ||||
| 	vel={}; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| const float Player::GetHealthGrowthRate()const{ | ||||
| 	return hpGrowthRate; | ||||
| } | ||||
| const float Player::GetAtkGrowthRate()const{ | ||||
| 	return atkGrowthRate; | ||||
| } | ||||
| @ -249,6 +249,8 @@ public: | ||||
| 	void SetInvisible(const bool invisibleState); | ||||
| 	const bool IsInvisible()const; | ||||
| 	void ResetVelocity(); | ||||
| 	const float GetHealthGrowthRate()const; | ||||
| 	const float GetAtkGrowthRate()const; | ||||
| private: | ||||
| 	int hp="Warrior.BaseHealth"_I; | ||||
| 	int mana="Player.BaseMana"_I; | ||||
|  | ||||
| @ -49,18 +49,35 @@ void Menu::InitializeSellItemWindow(){ | ||||
| 		return std::stoi(Component<MenuLabel>(SELL_ITEM,"Amount to sell Amount Label")->GetLabel()); | ||||
| 	}; | ||||
| 	static auto UpdateMenu=[&](int32_t qty){ | ||||
| 		const std::weak_ptr<Item>item=Component<ItemMenuLabel>(SELL_ITEM,"Item Sell Header")->GetItem(); | ||||
| 
 | ||||
| 		qty=std::clamp(qty,1,99); | ||||
| 		int inventoryQty=Inventory::GetItemCount(item.lock()->ActualName()); | ||||
| 
 | ||||
| 		int pricePerItem=std::stoi(Component<MenuLabel>(SELL_ITEM,"Price per item Amount Label")->GetLabel()); | ||||
| 		Component<MenuLabel>(SELL_ITEM,"Amount to sell Amount Label")->SetLabel(std::to_string(qty)); | ||||
| 		Component<MenuLabel>(SELL_ITEM,"Amount to sell Amount Label")->SetLabel(std::format("{}/{}",qty,inventoryQty)); | ||||
| 
 | ||||
| 		Merchant&merchant=Merchant::GetCurrentTravelingMerchant(); | ||||
| 		const std::weak_ptr<Item>item=Component<ItemMenuLabel>(SELL_ITEM,"Item Sell Header")->GetItem(); | ||||
| 		bool canSell=merchant.CanSellItem(item,GetQuantity()); | ||||
| 
 | ||||
| 		std::string colorCode=""; | ||||
| 		if(!canSell)colorCode="#FF0000"; | ||||
| 		Component<MenuLabel>(SELL_ITEM,"Total Price Amount Label")->SetLabel(colorCode+std::to_string(qty*pricePerItem)); | ||||
| 		Component<MenuComponent>(SELL_ITEM,"Sell Button")->SetGrayedOut(!canSell); | ||||
| 
 | ||||
| 		if(qty==99||qty>=inventoryQty){ | ||||
| 			Component<MenuComponent>(SELL_ITEM,"Increase sell amount Button")->SetGrayedOut(true); | ||||
| 			Menu::menus[SELL_ITEM]->SetSelection(static_cast<std::weak_ptr<MenuComponent>>(Component<MenuComponent>(SELL_ITEM,"Decrease sell amount Button"))); | ||||
| 		}else{ | ||||
| 			Component<MenuComponent>(SELL_ITEM,"Increase sell amount Button")->SetGrayedOut(false); | ||||
| 		} | ||||
| 
 | ||||
| 		if(qty<=1){ | ||||
| 			Component<MenuComponent>(SELL_ITEM,"Decrease sell amount Button")->SetGrayedOut(true); | ||||
| 			Menu::menus[SELL_ITEM]->SetSelection(static_cast<std::weak_ptr<MenuComponent>>(Component<MenuComponent>(SELL_ITEM,"Increase sell amount Button"))); | ||||
| 		}else{ | ||||
| 			Component<MenuComponent>(SELL_ITEM,"Decrease sell amount Button")->SetGrayedOut(false); | ||||
| 		} | ||||
| 	}; | ||||
| 
 | ||||
| 	sellItemWindow->ADD("Item Sell Header",ItemMenuLabel)(geom2d::rect<float>{{2,2},{188,12}},"Selling {}",Item::BLANK,1,ComponentAttr::OUTLINE|ComponentAttr::BACKGROUND|ComponentAttr::SHADOW|ComponentAttr::FIT_TO_LABEL)END; | ||||
| @ -70,16 +87,16 @@ void Menu::InitializeSellItemWindow(){ | ||||
| 	sellItemWindow->ADD("Price Label",MenuLabel)(geom2d::rect<float>{{4,50},{188,12}},"Total Price",1.0f,ComponentAttr::LEFT_ALIGN|ComponentAttr::SHADOW)END; | ||||
| 
 | ||||
| 	sellItemWindow->ADD("Price per item Amount Label",MenuLabel)(geom2d::rect<float>{{sellItemWindow->size.x/2+28,18},{72,12}},"0",1.0f,ComponentAttr::SHADOW|ComponentAttr::FIT_TO_LABEL)END; | ||||
| 	sellItemWindow->ADD("Amount to sell Amount Label",MenuLabel)(geom2d::rect<float>{{sellItemWindow->size.x/2+48,34},{32,12}},"0",1.0f,ComponentAttr::SHADOW|ComponentAttr::OUTLINE|ComponentAttr::FIT_TO_LABEL)END; | ||||
| 	sellItemWindow->ADD("Amount to sell Amount Label",MenuLabel)(geom2d::rect<float>{{sellItemWindow->size.x/2+42,34},{44,12}},"0",1.0f,ComponentAttr::SHADOW|ComponentAttr::OUTLINE|ComponentAttr::FIT_TO_LABEL)END; | ||||
| 	 | ||||
| 	sellItemWindow->ADD("Increase sell amount Button",MenuComponent)(geom2d::rect<float>{{sellItemWindow->size.x/2+80+2,34},{12,12}},"+",[&](MenuFuncData data){ | ||||
| 	sellItemWindow->ADD("Increase sell amount Button",MenuComponent)(geom2d::rect<float>{{sellItemWindow->size.x/2+86+2,34},{12,12}},"+",[&](MenuFuncData data){ | ||||
| 		if(!incrementButtonDisabled){ | ||||
| 			UpdateMenu(GetQuantity()+1); | ||||
| 		} | ||||
| 		incrementButtonDisabled=false; | ||||
| 		return true; | ||||
| 	})END; | ||||
| 	sellItemWindow->ADD("Decrease sell amount Button",MenuComponent)(geom2d::rect<float>{{sellItemWindow->size.x/2+48-14,34},{12,12}},"-",[](MenuFuncData data){ | ||||
| 	sellItemWindow->ADD("Decrease sell amount Button",MenuComponent)(geom2d::rect<float>{{sellItemWindow->size.x/2+42-14,34},{12,12}},"-",[](MenuFuncData data){ | ||||
| 		if(!incrementButtonDisabled){ | ||||
| 			UpdateMenu(GetQuantity()-1); | ||||
| 		} | ||||
| @ -173,8 +190,8 @@ void Menu::InitializeSellItemWindow(){ | ||||
| 			.left="Decrease sell amount Button", | ||||
| 			.right="Decrease sell amount Button",}}, | ||||
| 		{"Decrease sell amount Button",{ | ||||
| 			.up="Cancel Button", | ||||
| 			.down="Cancel Button", | ||||
| 			.up="Sell Button", | ||||
| 			.down="Sell Button", | ||||
| 			.left="Increase sell amount Button", | ||||
| 			.right="Increase sell amount Button",}}, | ||||
| 	}); | ||||
|  | ||||
| @ -133,6 +133,9 @@ void State_LevelComplete::DrawOverlay(AiL*game){ | ||||
| 	game->DrawShadowStringPropDecal(levelUpTextPos+vf2d{8.f,0.f},"Level Up!",YELLOW); | ||||
| 	game->DrawRotatedDecal(levelUpTextPos+vf2d{2.f,1.f},GFX["overworld_arrow.png"].Decal(),-PI/2,GFX["overworld_arrow.png"].Sprite()->Size(),{1.f,1.f},BLACK); | ||||
| 	game->DrawRotatedDecal(levelUpTextPos+vf2d{2.f,0.f},GFX["overworld_arrow.png"].Decal(),-PI/2,GFX["overworld_arrow.png"].Sprite()->Size(),{1.f,1.f},YELLOW); | ||||
| 	 | ||||
| 	game->DrawShadowStringPropDecal(levelUpTextPos+vf2d{-69.f,4.f},std::format("HP +{}",int(game->GetPlayer()->GetHealthGrowthRate())),PixelLerp({226,234,244},WHITE,sin((40*game->GetRuntime())/2.f+0.5f))); | ||||
| 	game->DrawShadowStringPropDecal(levelUpTextPos+vf2d{-69.f,12.f},std::format("ATK+{}",int(game->GetPlayer()->GetAtkGrowthRate())),PixelLerp({226,234,244},WHITE,sin((40*game->GetRuntime())/2.f+0.5f))); | ||||
| } | ||||
| 
 | ||||
| void State_LevelComplete::TurnOffXPSound(){ | ||||
|  | ||||
| @ -8,10 +8,6 @@ Materials for initial craft seems to be wrong? need to recheck | ||||
| do we need a minimap? (maybe with fog of war?) Maybe polling that once testing with more people. | ||||
| should gemstones dropp from boss stages aswell? (Maybe lower droprate?) | ||||
| 
 | ||||
| When opening craft/buy/sell menu, default to the appropriate button. | ||||
| Pressing back on the Select button of the equip menu causes you to exit the menu. | ||||
| Funny text colors with text color override on blacksmith menu | ||||
| 
 | ||||
| Toggle for displaying error messages | ||||
| 
 | ||||
| Level Up shows Health + and Atk + Indicators | ||||
| Toggle for displaying error messages | ||||
| @ -37,9 +37,9 @@ All rights reserved. | ||||
| #pragma endregion | ||||
| #pragma once | ||||
| #define VERSION_MAJOR 0 | ||||
| #define VERSION_MINOR 4 | ||||
| #define VERSION_PATCH 5 | ||||
| #define VERSION_BUILD 7969 | ||||
| #define VERSION_MINOR 5 | ||||
| #define VERSION_PATCH 0 | ||||
| #define VERSION_BUILD 7992 | ||||
| 
 | ||||
| #define stringify(a) stringify_(a) | ||||
| #define stringify_(a) #a | ||||
|  | ||||
| @ -546,7 +546,7 @@ | ||||
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||||
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||||
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||||
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||||
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||||
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||||
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||||
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user