tdauth / wowr

Warcraft III: Reforged funmap World of Warcraft Reforged.
https://wowreforged.org
8 stars 0 forks source link

Add properties which can be acquired together with interiors and produce income #1526

Open tdauth opened 1 year ago

tdauth commented 1 year ago

The properties cost much gold and lumber and can only be owned by one player in the game. They have interiors which can only be entered by allowed players. Interiors can contain special shops. NPCs, items respawning etc. They protect you from the outside world, making the entering heroes invulnerable. They can train/sell special units and produce some income.

We need some space on the map for all the interiors.

Buying them gives you a code:

-loadproperties XXX
-saveproperties

The person who loads first, gets them first. If multiple players have the same property it won't work or they would use it together.

Property API:

function AddProperty takes string name returns integer
function AddPropertyFloor takes integer property, region whichRegion, camerasetup cam returns integer

// returns the code
function BuyProperty takes integer property, string playerName returns string
// returns the sell code which will give you the resources immediately but on a separate account to buy another property, so selling only works for buying something else
function SellProperty takes integer property, string playerName returns string

// extensions add furniture etc.
function AddPropertyExtension takes integer property, string name, integer gold, integer lumber returns integer
function BuyPropertyExtension takes integer property, integer extension, string playerName returns string
function SellPropertyExtension takes integer property, integer extension, string playerName returns string

// modifies the code to allow people in your property
function AllowAccountOrClanInProperty takes integer property, string ownerName, string accountName, boolean allow returns string
function EnterProperty takes unit whichUnit returns nothing
function LeaveProperty takes unit whichUnit returns nothing
function GetGroupInProperty takes nothing returns group

// camera
function ShowProperty takes integer property, integer floor, force whichForce returns nothing
function HideProperty takes integer property, integer floor, force whichForce reutrns nothing

Interior resources

List of properties (should be at start locations):

tdauth commented 3 months ago

Properties could also belong to players fixed and allow you to send them codes to pay them for something (like reward codes).