Browse Source

New Unit [Business]

added a new unit caleed business that slots between houses and skyscrapers. This unit is supposed to replicate small commercial builds one would find in towns and at the outskirts of cities.
tags/v1.0.0
jsb5468 6 years ago
parent
commit
af37c6d91a
3 changed files with 51 additions and 3 deletions
  1. +1
    -0
      game.js
  2. +11
    -0
      recursive-desc.js
  3. +39
    -3
      recursive-macro.js

+ 1
- 0
game.js View File

@@ -1856,6 +1856,7 @@ function getWeights(region, area) {
"House": 0.1, "House": 0.1,
"Car": 0.07, "Car": 0.07,
"Bus": 0.02, "Bus": 0.02,
"Business": 0.075,
"Parking Garage": 0.003, "Parking Garage": 0.003,
"Small Skyscraper": 0.05, "Small Skyscraper": 0.05,
"Town": 0.00001, "Town": 0.00001,


+ 11
- 0
recursive-desc.js View File

@@ -2100,6 +2100,17 @@ rules["anal-vore"].push({
} }
}); });


rules["anal-vore"].push({
"test": function(container, macro) {
return hasExactly(container, "Business", 1) &&
hasOnly(container, ["Business"]);
}, "desc": function(container, macro, verbose, flat) {
return "You set your weighty rump down on " + container.describe() + " and feel it penerate your hole. Once your weight has settled you clench your sphincter, seperating the building from its foundations with a <i>crCraCHH</i> \
and pulling it off the groud and inside of your ass. You feel the immense pressure of your anal cavity slowly crushing the building, bringing newfound pleasure with every shift and temour within the structure.";
}
});


rules["anal-vore"].push({ rules["anal-vore"].push({
"test": function(container, macro) { "test": function(container, macro) {
return hasExactly(container, "Train", 1) && return hasExactly(container, "Train", 1) &&


+ 39
- 3
recursive-macro.js View File

@@ -11,6 +11,7 @@ var things =
"Bus": Bus, "Bus": Bus,
"Tram": Tram, "Tram": Tram,
"House": House, "House": House,
"Business": Business,
"Barn": Barn, "Barn": Barn,
"Small Skyscraper": SmallSkyscraper, "Small Skyscraper": SmallSkyscraper,
"Large Skyscraper": LargeSkyscraper, "Large Skyscraper": LargeSkyscraper,
@@ -53,6 +54,7 @@ var areas =
"Bus": 12, "Bus": 12,
"Tram": 20, "Tram": 20,
"House": 150, "House": 150,
"Business": 400,
"Barn": 300, "Barn": 300,
"Small Skyscraper": 1000, "Small Skyscraper": 1000,
"Large Skyscraper": 2000, "Large Skyscraper": 2000,
@@ -95,6 +97,7 @@ var masses =
"Bus": 5000, "Bus": 5000,
"Tram": 10000, "Tram": 10000,
"House": 10000, "House": 10000,
"Business": 50000,
"Barn": 5000, "Barn": 5000,
"Small Skyscraper": 10000000, "Small Skyscraper": 10000000,
"Large Skyscraper": 80000000, "Large Skyscraper": 80000000,
@@ -137,6 +140,7 @@ var clusters =
"Bus": 1, "Bus": 1,
"Tram": 1, "Tram": 1,
"House": 5, "House": 5,
"Business": 5,
"Barn": 1, "Barn": 1,
"Small Skyscraper": 2, "Small Skyscraper": 2,
"Large Skyscraper": 1, "Large Skyscraper": 1,
@@ -179,6 +183,7 @@ var cluster_chances =
"Bus": 0.25, "Bus": 0.25,
"Tram": 0.2, "Tram": 0.2,
"House": 0.5, "House": 0.5,
"Business": .05,
"Barn": 0.1, "Barn": 0.1,
"Small Skyscraper": 0.25, "Small Skyscraper": 0.25,
"Large Skyscraper": 0.25, "Large Skyscraper": 0.25,
@@ -223,13 +228,14 @@ var contents =
"Train": [["Person",1,4,"engine"],["Train Car",2,10]], "Train": [["Person",1,4,"engine"],["Train Car",2,10]],
"Train Car": [["Person",10,40]], "Train Car": [["Person",10,40]],
"House": [["Person",0,8],["Empty Car",0,2]], "House": [["Person",0,8],["Empty Car",0,2]],
"Business": [["Person",0,30],["Car",0,20]],
"Barn": [["Person",0,2],["Cow",30,70]], "Barn": [["Person",0,2],["Cow",30,70]],
"Small Skyscraper": [["Person",150,750],["Empty Car",10,50]], "Small Skyscraper": [["Person",150,750],["Empty Car",10,50]],
"Large Skyscraper": [["Person",500,1500],["Empty Car",20,100]], "Large Skyscraper": [["Person",500,1500],["Empty Car",20,100]],
"Parking Garage": [["Person",10,200],["Empty Car",100,300],["Car",5,30]], "Parking Garage": [["Person",10,200],["Empty Car",100,300],["Car",5,30]],
"Town": [["Person",10000,100000],["House",5000,50000],["Empty Car",200,800],["Car",500,80000],["Bus",5,25],["Train",5,25]],
"City": [["Person",100000,1500000],["House",20000,200000],["Empty Car",10000,100000],["Car",7500,125000],["Bus",200,400],["Train",10,50],["Tram",25,100],["Small Skyscraper",50,300],["Large Skyscraper",10,75],["Parking Garage",5,10]],
"Continent": [["Person",1000000,15000000],["House",2500,10000],["Car",25000,375000],["Train",50,500],["Town",500,1000],["City",50,250]],
"Town": [["Person",10000,100000],["House",5000,50000],["Empty Car",200,800],["Car",500,80000],["Bus",5,25],["Train",5,25],["Business",500,5000]],
"City": [["Person",100000,1500000],["House",20000,200000],["Empty Car",10000,100000],["Car",7500,125000],["Bus",200,400],["Train",10,50],["Tram",25,100],["Small Skyscraper",50,300],["Large Skyscraper",10,75],["Parking Garage",5,10],["Business",2000,10000]],
"Continent": [["Person",1000000,15000000],["House",2500,10000],["Car",25000,375000],["Train",50,500],["Town",500,1000],["City",50,250],["Business",250,1000]],
"Planet": [["Continent",4,9]], "Planet": [["Continent",4,9]],
"Star": [], "Star": [],
"Solar System": [["Star",1,1],["Planet",5,15]], "Solar System": [["Star",1,1],["Planet",5,15]],
@@ -1001,6 +1007,36 @@ function House(count = 1) {
} }
}; };
} }
//might split this into a general business and resutrant categories
function Business(count = 1) {
this.name = "Business";
copy_defaults(this,new DefaultEntity());
this.count = count;
this.contents = initContents(this.name,this.count);

this.describeOne = function(verbose=true) {
var size = random_desc(["little","two-story","large","well-built","run-down","cheap","aging","corner"], (verbose ? 0.5 : 0));
var color = random_desc(["blue","white","gray","tan","green","brick","concrete"], (verbose ? 0.5 : 0));
var name = random_desc(["mall","resturant","bank","clinic","shop","post-office","tire shop","chain resturant","grocery store","barber shop","pizza resturant","hardware store","movie theather","gas station"], 1);
return "a " + merge_desc([size,color,name]);
};

this.describe = function(verbose = true) {
if (verbose) {
if (this.count <= 3) {
var list = [];
for (var i = 0; i < this.count; i++) {
list.push(this.describeOne(this.count < 2));
}
return merge_things(list) + " with " + describe_all(this.contents,verbose);
} else {
return this.count + " local business with " + describe_all(this.contents,verbose) + "inside";
}
} else {
return (this.count > 1 ? this.count + " buildings" : "a local business");
}
};
}


function Barn(count = 1) { function Barn(count = 1) {
this.name = "Barn"; this.name = "Barn";


Loading…
Cancel
Save