Of Gods and Mortals

Daxter_06

New member
Joined
May 9, 2006
Messages
458
As an added bonus, I present below the full design of the Scaffolding system, and all the scripts that tie to it.

If you are keen on trying it out in your own custom map, go for it.  :D

But be aware, it's a little buggy, incomplete and may cause crashing sometimes (until I nail down the issue)

Code:
// Scaffolding System - By Daxter
// Based on a similar system for Black and White 1 recreated for the sequel
// Scaffolding is to replace the Construction Menu of the "Toolbar" in Black and White 2

global HouseAUnlocked = 0
global HouseBUnlocked = 0
global HouseCUnlocked = 0
global HouseDUnlocked = 0
global HouseEUnlocked = 0

define script Scaffolds(oTown)
define script CreateHouseScaffolds(ThisScaffold, NextScaffoldHouse)
define script ScaffoldSelectionHouses(ThisScaffold)
define script ScaffoldSelectionCivics(ThisScaffold)
define script ScaffoldRotation(ThisScaffold)
define script CreateCivicScaffolds(NewCivicScaffold, NextScaffoldCivic, TownScaffold)
define script NewTownScaffold(ThisScaffold, NextScaffoldCivic, DeletableScaffold)

begin script Scaffolds(oTown)
	SmallScaffold = 0
	NewHouseScaffold = 0
	NewCivicScaffold = 0
	ThisScaffold = 0
	ScaffoldCount = 0
	Lumbermill = 0
	HouseScaffoldFlag = 0
	CivicScaffoldFlag = 0
	HOUSEAScaffold = 0
start
Lumbermill = get building ABODE_NUMBER_LUMBERMILL in oTown min built 1.0
 wait until Lumbermill exists
   HouseScaffoldFlag = create with angle 100.0 and scale 3.0 MOBILESTATIC MOBILE_STATIC_INFO_ROCK_BLOCK_SMALL at {Lumbermill}+{11,0,0}
	override mesh for HouseScaffoldFlag with "m_bannergreekranged"
	enable HouseScaffoldFlag indestructible
	disable HouseScaffoldFlag pickup
   CivicScaffoldFlag = create with angle 105.0 and scale 3.0 MOBILESTATIC MOBILE_STATIC_INFO_ROCK_BLOCK_SMALL at {Lumbermill}+{8,0,10}
	override mesh for CivicScaffoldFlag with "m_bannergreekmelee"
	enable CivicScaffoldFlag indestructible
	disable CivicScaffoldFlag pickup
begin loop
  if HouseScaffoldFlag == get object hand is over and HouseScaffoldFlag == get object right clicked or HouseScaffoldFlag == get object hand is over and HouseScaffoldFlag  == get object left clicked
	clear left clicked object
	clear right clicked object
	NewHouseScaffold = create with angle 0.0 and scale 1.00 MOBILESTATIC MOBILE_STATIC_INFO_ROCK_BOULDER_SMALL at {HouseScaffoldFlag}+{5,0,1}
	override mesh for NewHouseScaffold with "m_genericwoodinhand"
	ThisScaffold = NewHouseScaffold
	 wait until NewHouseScaffold == get object held
	    run background script ScaffoldRotation(ThisScaffold)
   	    run background script ScaffoldSelectionHouses(ThisScaffold)
	wait 0.5 seconds
  elsif CivicScaffoldFlag == get object hand is over and CivicScaffoldFlag == get object right clicked or CivicScaffoldFlag == get object hand is over and CivicScaffoldFlag == get object left clicked
	clear left clicked object
	clear right clicked object
	NewCivicScaffold = create with angle 0.0 and scale 1.00 MOBILESTATIC MOBILE_STATIC_INFO_ROCK_BLOCK_SMALL at {CivicScaffoldFlag}+{5,0,1}
	override mesh for NewCivicScaffold with "m_genericwoodinhand"
	ThisScaffold = NewCivicScaffold
	 wait until ThisScaffold == get object held
	    run background script ScaffoldRotation(ThisScaffold)
   	    run background script ScaffoldSelectionCivics(ThisScaffold)
	wait 0.5 seconds
  end if
end loop
end script Scaffolds

begin script ScaffoldRotation(ThisScaffold)
         ClickToCreate = 0
start
  wait until ThisScaffold exists
while ThisScaffold exists
   if ThisScaffold != get object hand is over
      ANGLE of ThisScaffold += 8.00
      ZANGLE of ThisScaffold = 0.00
      XANGLE of ThisScaffold = 0.00
      ALTITUDE of ThisScaffold = 0.00
      set ThisScaffold alpha 0.75
   end if

   if ThisScaffold == get object hand is over and ThisScaffold != get object left clicked
      ANGLE of ThisScaffold += 0.50
      set ThisScaffold alpha 0.75
   end if

   if ThisScaffold == get object hand is over and ThisScaffold == get object left clicked
      ANGLE of ThisScaffold += 0.00
	wait 0.5 seconds
   end if
end while
end script ScaffoldRotation

begin script ScaffoldSelectionCivics(ThisScaffold)
	DistHandToScaffold = 0
	TargetPosScaffoldFromHand = 0
	NextScaffoldCivic = 0
	PlannedScaffold = 0
	oTown = get town with id 0
	HouseCivicVisual = 0
	NewTownInfluence = 0
	NewTownAntiInfluence = 0
        TownScaffold = 0
start
     HouseCivicVisual = create visual effect VISUAL_MIRACLE_TORNADO_GROUND on ThisScaffold time -1
     override mesh for ThisScaffold with "m_greekstoragepit"
     SCALE of ThisScaffold = 1.00
     SCALE of HouseCivicVisual = 0.55
     enable ThisScaffold indestructible
while ThisScaffold exists
  if hand position not near {ThisScaffold} radius 5.00 and NextScaffoldCivic == 0 and bindable action BINDABLE_ACTION_TYPE_ACTION performed
     TownScaffold = 0
     SCALE of ThisScaffold = 1.00
     SCALE of HouseCivicVisual = 0.55
     override mesh for ThisScaffold with "m_greekstoragepit"
	NextScaffoldCivic++
     wait 0.5 seconds
  end if

  if hand position not near {ThisScaffold} radius 5.00 and NextScaffoldCivic == 1 and bindable action BINDABLE_ACTION_TYPE_ACTION performed
     TownScaffold = 0
     SCALE of ThisScaffold = 1.00
     SCALE of HouseCivicVisual = 0.50
     override mesh for ThisScaffold with "m_greekcreche"
	NextScaffoldCivic++
     wait 0.5 seconds
  end if

  if hand position not near {ThisScaffold} radius 5.00 and NextScaffoldCivic == 2 and bindable action BINDABLE_ACTION_TYPE_ACTION performed
     SCALE of ThisScaffold = 1.00
     SCALE of HouseCivicVisual = 0.50
     NewTownInfluence = create influence on ThisScaffold radius 10
     override mesh for ThisScaffold with "m_greektowncentre"
     TownScaffold = 1
	NextScaffoldCivic++
     wait 0.5 seconds
  end if

  if hand position not near {ThisScaffold} radius 5.00 and NextScaffoldCivic == 3 and bindable action BINDABLE_ACTION_TYPE_ACTION performed
     TownScaffold = 0
     SCALE of ThisScaffold = 1.00
     SCALE of HouseCivicVisual = 0.35
     delete NewTownInfluence
     override mesh for ThisScaffold with "m_greekgranary"
	NextScaffoldCivic++
     wait 0.5 seconds
  end if

  if hand position not near {ThisScaffold} radius 5.00 and NextScaffoldCivic == 4 and bindable action BINDABLE_ACTION_TYPE_ACTION performed
     TownScaffold = 0
     SCALE of ThisScaffold = 1.00
     SCALE of HouseCivicVisual = 0.50
     override mesh for ThisScaffold with "m_greekbathhouse"
	NextScaffoldCivic++
     wait 0.5 seconds
  end if

  if hand position not near {ThisScaffold} radius 5.00 and NextScaffoldCivic == 5 and bindable action BINDABLE_ACTION_TYPE_ACTION performed
     TownScaffold = 0
     SCALE of ThisScaffold = 1.00
     SCALE of HouseCivicVisual = 0.50
     override mesh for ThisScaffold with "m_greekgraveyard"
	NextScaffoldCivic++
     wait 0.5 seconds
  end if

  if hand position not near {ThisScaffold} radius 5.00 and NextScaffoldCivic == 6 and bindable action BINDABLE_ACTION_TYPE_ACTION performed
     TownScaffold = 0
     SCALE of ThisScaffold = 1.00
     SCALE of HouseCivicVisual = 0.50
     override mesh for ThisScaffold with "m_greekinn"
	NextScaffoldCivic++
     wait 0.5 seconds
  end if

  if hand position not near {ThisScaffold} radius 5.00 and NextScaffoldCivic == 7 and bindable action BINDABLE_ACTION_TYPE_ACTION performed
     TownScaffold = 0
     SCALE of ThisScaffold = 1.00
     SCALE of HouseCivicVisual = 0.50
     override mesh for ThisScaffold with "m_greekprison"
	NextScaffoldCivic++
     wait 0.5 seconds
  end if

  if hand position not near {ThisScaffold} radius 5.00 and NextScaffoldCivic == 8 and bindable action BINDABLE_ACTION_TYPE_ACTION performed
     TownScaffold = 0
     SCALE of ThisScaffold = 1.00
     SCALE of HouseCivicVisual = 0.40
     override mesh for ThisScaffold with "m_greekretirement"
	NextScaffoldCivic++
     wait 0.5 seconds
  end if

  if hand position not near {ThisScaffold} radius 5.00 and NextScaffoldCivic == 9 and bindable action BINDABLE_ACTION_TYPE_ACTION performed
     TownScaffold = 0
     SCALE of ThisScaffold = 1.00
     SCALE of HouseCivicVisual = 0.50
     override mesh for ThisScaffold with "m_greeksmelter"
	NextScaffoldCivic++
     wait 0.5 seconds
  end if

  if hand position not near {ThisScaffold} radius 5.00 and NextScaffoldCivic == 10 and bindable action BINDABLE_ACTION_TYPE_ACTION performed
     TownScaffold = 0
     SCALE of ThisScaffold = 1.00
     SCALE of HouseCivicVisual = 0.50
     override mesh for ThisScaffold with "m_creaturepen"
	NextScaffoldCivic++
     wait 0.5 seconds
  end if

  if NextScaffoldCivic > 10
	NextScaffoldCivic = 0
  end if

  if ThisScaffold != get object held
	if hand position near {ThisScaffold} radius 5.00 and ThisScaffold == get object left clicked or hand position near {ThisScaffold} radius 5.00 and ThisScaffold == get object right clicked
 		stop visual effect HouseCivicVisual
		ANGLE of ThisScaffold += 0.00
	     		wait 0.5 seconds
    		run background script CreateCivicScaffolds(ThisScaffold, NextScaffoldCivic, TownScaffold)
	end if
  end if
end while
end script ScaffoldSelectionCivics

begin script ScaffoldSelectionHouses(ThisScaffold)
	DistHandToScaffold = 0
	TargetPosScaffoldFromHand = 0
	NextScaffoldHouse = 0
	PlannedScaffold = 0
	oTown = get town with id 0
	HouseCivicVisual = 0
start
     HouseCivicVisual = create visual effect VISUAL_MIRACLE_TORNADO_GROUND on ThisScaffold time -1
     SCALE of ThisScaffold = 1.00
     SCALE of HouseCivicVisual = 0.20
     override mesh for ThisScaffold with "m_greekabode_a"
     enable ThisScaffold indestructible
while ThisScaffold exists
  if hand position not near {ThisScaffold} radius 5.00 and NextScaffoldHouse == 0 and bindable action BINDABLE_ACTION_TYPE_ACTION performed
     SCALE of ThisScaffold = 1.00
     SCALE of HouseCivicVisual = 0.20
     override mesh for ThisScaffold with "m_greekabode_a"
	NextScaffoldHouse++
     wait 0.5 seconds
  end if

  if hand position not near {ThisScaffold} radius 5.00 and NextScaffoldHouse == 1 and bindable action BINDABLE_ACTION_TYPE_ACTION performed
     SCALE of ThisScaffold = 1.00
     override mesh for ThisScaffold with "m_greekabode_b"  
	NextScaffoldHouse++
     wait 0.5 seconds
  end if

  if hand position not near {ThisScaffold} radius 5.00 and NextScaffoldHouse == 2 and bindable action BINDABLE_ACTION_TYPE_ACTION performed
     SCALE of ThisScaffold = 1.00
     override mesh for ThisScaffold with "m_greekabode_c"
	NextScaffoldHouse++
     wait 0.5 seconds
  end if

  if hand position not near {ThisScaffold} radius 5.00 and NextScaffoldHouse == 3 and bindable action BINDABLE_ACTION_TYPE_ACTION performed
     SCALE of ThisScaffold = 1.00
     override mesh for ThisScaffold with "m_greekabode_d"
	NextScaffoldHouse++
     wait 0.5 seconds
  end if

  if hand position not near {ThisScaffold} radius 5.00 and NextScaffoldHouse == 4 and bindable action BINDABLE_ACTION_TYPE_ACTION performed
     SCALE of ThisScaffold = 1.00
     SCALE of HouseCivicVisual = 0.30
     override mesh for ThisScaffold with "m_greekabode_e"
	NextScaffoldHouse++
     wait 0.5 seconds
  end if

  if NextScaffoldHouse > 4
	NextScaffoldHouse = 0
  end if

if ThisScaffold != get object held
	if hand position near {ThisScaffold} radius 5.00 and ThisScaffold == get object left clicked or hand position near {ThisScaffold} radius 5.00 and ThisScaffold == get object right clicked
 		stop visual effect HouseCivicVisual
		ANGLE of ThisScaffold += 0.00
	     		wait 0.5 seconds
    		run background script CreateHouseScaffolds(ThisScaffold, NextScaffoldHouse)
	end if
end if
end while
end script ScaffoldSelectionHouses

begin script CreateCivicScaffolds(ThisScaffold, NextScaffoldCivic, TownScaffold)
	ThisScaffold2 = 0
	PlannedScaffold = 0
	NewPlannedScaffold = 0
	oTown = get town with id 0
	ThePlayer = get oTown player
	ScaffoldIsHeld = 0
	HOUSEAScaffold = 0
	DeletableScaffold = 0
	ThisScaffoldPos = marker at {ThisScaffold}
start
   if NextScaffoldCivic == 1 and TownScaffold == 0
	    wait 1 second
	PlannedScaffold = create with angle 0.0 and scale 1.0 ABODE ABODE_INFO_GREEK_STORAGE_PIT at {ThisScaffold}
	ANGLE of PlannedScaffold = ANGLE of ThisScaffold
	attach PlannedScaffold to oTown
		wait 0.5 seconds
	enable PlannedScaffold pickup
	enable PlannedScaffold reactable
	enable PlannedScaffold interactable
	enable villagers can build PlannedScaffold
	PERCENTBUILT of PlannedScaffold = 0.01
	release PlannedScaffold
	DeletableScaffold = ThisScaffold
	release DeletableScaffold
	     wait 0.5 seconds
	delete DeletableScaffold
   elsif NextScaffoldCivic == 2 and TownScaffold == 0
	    wait 1 second
	PlannedScaffold = create with angle 0.0 and scale 1.0 ABODE ABODE_INFO_GREEK_CRECHE at {ThisScaffold}
	ANGLE of PlannedScaffold = ANGLE of ThisScaffold
	attach PlannedScaffold to oTown
		wait 0.5 seconds
	enable PlannedScaffold pickup
	enable PlannedScaffold reactable
	enable PlannedScaffold interactable
	enable villagers can build PlannedScaffold
	PERCENTBUILT of PlannedScaffold = 0.01
	release PlannedScaffold
	DeletableScaffold = ThisScaffold
	release DeletableScaffold
	     wait 0.5 seconds
	delete DeletableScaffold
   elsif NextScaffoldCivic == 3 and TownScaffold == 1
	    wait 1 second
	run background script NewTownScaffold(ThisScaffold, NextScaffoldCivic, DeletableScaffold)
	    wait 1 second
   elsif NextScaffoldCivic == 4 and TownScaffold == 0
	    wait 1 second
	PlannedScaffold = create with angle 0.0 and scale 1.0 ABODE ABODE_INFO_GREEK_GRANARY at {ThisScaffold}
	ANGLE of PlannedScaffold = ANGLE of ThisScaffold
	attach PlannedScaffold to oTown
		wait 0.5 seconds
	enable PlannedScaffold pickup
	enable PlannedScaffold reactable
	enable PlannedScaffold interactable
	enable villagers can build PlannedScaffold
	PERCENTBUILT of PlannedScaffold = 0.01
	release PlannedScaffold
	DeletableScaffold = ThisScaffold
	release DeletableScaffold
	     wait 0.5 seconds
	delete DeletableScaffold
   elsif NextScaffoldCivic == 5 and TownScaffold == 0
	    wait 1 second
	PlannedScaffold = create with angle 0.0 and scale 1.0 ABODE ABODE_INFO_GREEK_PUB at {ThisScaffold}
	ANGLE of PlannedScaffold = ANGLE of ThisScaffold
	attach PlannedScaffold to oTown
		wait 0.5 seconds
	enable PlannedScaffold pickup
	enable PlannedScaffold reactable
	enable PlannedScaffold interactable
	enable villagers can build PlannedScaffold
	PERCENTBUILT of PlannedScaffold = 0.01
	release PlannedScaffold
	DeletableScaffold = ThisScaffold
	release DeletableScaffold
	     wait 0.5 seconds
	delete DeletableScaffold
   elsif NextScaffoldCivic == 6 and TownScaffold == 0
	    wait 1 second
	PlannedScaffold = create with angle 0.0 and scale 1.0 ABODE ABODE_INFO_GREEK_GRAVEYARD at {ThisScaffold}
	ANGLE of PlannedScaffold = ANGLE of ThisScaffold
	attach PlannedScaffold to oTown
		wait 0.5 seconds
	enable PlannedScaffold pickup
	enable PlannedScaffold reactable
	enable PlannedScaffold interactable
	enable villagers can build PlannedScaffold
	PERCENTBUILT of PlannedScaffold = 0.01
	release PlannedScaffold
	DeletableScaffold = ThisScaffold
	release DeletableScaffold
	     wait 0.5 seconds
	delete DeletableScaffold
   elsif NextScaffoldCivic == 7 and TownScaffold == 0
	    wait 1 second
	PlannedScaffold = create with angle 0.0 and scale 1.0 ABODE ABODE_INFO_GREEK_PRISON at {ThisScaffold}
	ANGLE of PlannedScaffold = ANGLE of ThisScaffold
	attach PlannedScaffold to oTown
		wait 0.5 seconds
	enable PlannedScaffold pickup
	enable PlannedScaffold reactable
	enable PlannedScaffold interactable
	enable villagers can build PlannedScaffold
	PERCENTBUILT of PlannedScaffold = 0.01
	release PlannedScaffold
	DeletableScaffold = ThisScaffold
	release DeletableScaffold
	     wait 0.5 seconds
	delete DeletableScaffold
   elsif NextScaffoldCivic == 8 and TownScaffold == 0
	    wait 1 second
	PlannedScaffold = create with angle 0.0 and scale 1.0 ABODE ABODE_INFO_GREEK_OLD_PERSONS_HOME at {ThisScaffold}
	ANGLE of PlannedScaffold = ANGLE of ThisScaffold
	attach PlannedScaffold to oTown
		wait 0.5 seconds
	enable PlannedScaffold pickup
	enable PlannedScaffold reactable
	enable PlannedScaffold interactable
	enable villagers can build PlannedScaffold
	PERCENTBUILT of PlannedScaffold = 0.01
	release PlannedScaffold
	DeletableScaffold = ThisScaffold
	release DeletableScaffold
	     wait 0.5 seconds
	delete DeletableScaffold
   elsif NextScaffoldCivic == 9 and TownScaffold == 0
	    wait 1 second
	PlannedScaffold = create with angle 0.0 and scale 1.0 ABODE ABODE_INFO_GREEK_SMELTER at {ThisScaffold}
	ANGLE of PlannedScaffold = ANGLE of ThisScaffold
	attach PlannedScaffold to oTown
		wait 0.5 seconds
	enable PlannedScaffold pickup
	enable PlannedScaffold reactable
	enable PlannedScaffold interactable
	enable villagers can build PlannedScaffold
	PERCENTBUILT of PlannedScaffold = 0.01
	release PlannedScaffold
	DeletableScaffold = ThisScaffold
	release DeletableScaffold
	     wait 0.5 seconds
	delete DeletableScaffold
   elsif NextScaffoldCivic == 0 and TownScaffold == 0
	    wait 1 second
	PlannedScaffold = create with angle 0.0 and scale 1.0 ABODE ABODE_INFO_GREEK_CREATURE_PEN at {ThisScaffold}
	ANGLE of PlannedScaffold = ANGLE of ThisScaffold
	attach PlannedScaffold to oTown
		wait 0.5 seconds
	enable PlannedScaffold pickup
	enable PlannedScaffold reactable
	enable PlannedScaffold interactable
	enable villagers can build PlannedScaffold
	PERCENTBUILT of PlannedScaffold = 0.01
	release PlannedScaffold
	DeletableScaffold = ThisScaffold
	release DeletableScaffold
	     wait 0.5 seconds
	delete DeletableScaffold
   end if
end script CreateCivicScaffolds

begin script CreateHouseScaffolds(ThisScaffold, NextScaffoldHouse)
	ThisScaffold2 = 0
	PlannedScaffold = 0
	NewPlannedScaffold = 0
	oTown = get town with id 0
	ThePlayer = get oTown player
	ScaffoldIsHeld = 0
	HOUSEAScaffold = 0
	DeletableScaffold = 0
	ThisScaffoldPos = marker at {ThisScaffold}
start
   if NextScaffoldHouse == 1
	    wait 1 second
	PlannedScaffold = create with angle 0.0 and scale 1.0 ABODE ABODE_INFO_GREEK_HOUSE_A at {ThisScaffold}
	ANGLE of PlannedScaffold = ANGLE of ThisScaffold
	attach PlannedScaffold to oTown
		wait 0.1 seconds
	enable PlannedScaffold pickup
	enable PlannedScaffold reactable
	enable PlannedScaffold interactable
	enable villagers can build PlannedScaffold
	PERCENTBUILT of PlannedScaffold = 0.01
	release PlannedScaffold
	delete ThisScaffold
	ThisScaffold = 0
   elsif NextScaffoldHouse == 2
	    wait 1 second
	PlannedScaffold = create with angle 0.0 and scale 1.0 ABODE ABODE_INFO_GREEK_HOUSE_B at {ThisScaffold}
	ANGLE of PlannedScaffold = ANGLE of ThisScaffold
	attach PlannedScaffold to oTown
		wait 0.1 seconds
	enable PlannedScaffold pickup
	enable PlannedScaffold reactable
	enable PlannedScaffold interactable
	enable villagers can build PlannedScaffold
	PERCENTBUILT of PlannedScaffold = 0.01
	release PlannedScaffold
	delete ThisScaffold
	ThisScaffold = 0
   elsif NextScaffoldHouse == 3
	    wait 1 second
	PlannedScaffold = create with angle 0.0 and scale 1.0 ABODE ABODE_INFO_GREEK_HOUSE_C at {ThisScaffold}
	ANGLE of PlannedScaffold = ANGLE of ThisScaffold
	attach PlannedScaffold to oTown
		wait 0.1 seconds
	enable PlannedScaffold pickup
	enable PlannedScaffold reactable
	enable PlannedScaffold interactable
	enable villagers can build PlannedScaffold
	PERCENTBUILT of PlannedScaffold = 0.01
	release PlannedScaffold
	delete ThisScaffold
	ThisScaffold = 0
   elsif NextScaffoldHouse == 4
	    wait 1 second
	PlannedScaffold = create with angle 0.0 and scale 1.0 ABODE ABODE_INFO_GREEK_HOUSE_D at {ThisScaffold}
	ANGLE of PlannedScaffold = ANGLE of ThisScaffold
	attach PlannedScaffold to oTown
		wait 0.1 seconds
	enable PlannedScaffold pickup
	enable PlannedScaffold reactable
	enable PlannedScaffold interactable
	enable villagers can build PlannedScaffold
	PERCENTBUILT of PlannedScaffold = 0.01
	release PlannedScaffold
	delete ThisScaffold
	ThisScaffold = 0
   elsif NextScaffoldHouse == 0
	    wait 1 second
	PlannedScaffold = create with angle 0.0 and scale 1.0 ABODE ABODE_INFO_GREEK_HOUSE_E at {ThisScaffold}
	ANGLE of PlannedScaffold = ANGLE of ThisScaffold
	attach PlannedScaffold to oTown
		wait 0.1 seconds
	enable PlannedScaffold pickup
	enable PlannedScaffold reactable
	enable PlannedScaffold interactable
	enable villagers can build PlannedScaffold
	PERCENTBUILT of PlannedScaffold = 0.01
	release PlannedScaffold
	delete ThisScaffold
	ThisScaffold = 0
   end if
end script CreateHouseScaffolds

begin script NewTownScaffold(ThisScaffold, NextScaffoldCivic, DeletableScaffold)
	NewTown = 0
	NewTownID = 3
	oTown = get town with id 0
	NearestLumbermill = 0
	NewVillager = 0
	ScaffoldPos = 0
start
        NearestLumbermill = get building LUMBERMILL in oTown min built 1.0
  wait 0.5 seconds
	ScaffoldPos = marker at {ThisScaffold}
	NewTown = create with angle 90.00 and scale 1.00 ABODE ABODE_INFO_GREEK_TOWN_CENTRE at {ThisScaffold}
	attach NewTown to oTown
	NextScaffoldCivic = 0
  wait 1.5 seconds
	NewVillager = create random villager of tribe TRIBE_TYPE_GREEK at {NewTown}
	set town NewTown desire for TOWN_DESIRE_FOR_FOOD to 0.5
	set town NewTown desire for TOWN_DESIRE_FOR_WOOD to 0.5
	set town NewTown desire for TOWN_DESIRE_FOR_ORE to 0.5
	set town NewTown desire for TOWN_DESIRE_TO_BREED to 0.25
	set town NewTown desire for TOWN_DESIRE_TO_BUILD to 0.1
	set town NewTown desire for TOWN_DESIRE_TO_MIGRATE to 0.0
	set town NewTown desire for TOWN_DESIRE_FOR_HOMES to 1.0
	ANGLE of ThisScaffold += 0.00
	move ThisScaffold to limbo
	release NewTown
  wait until NewTown exists and not ThisScaffold is moving
     wait 1 second
	release ThisScaffold
	HEALTH of ThisScaffold = 0.0
	delete ThisScaffold
end script NewTownScaffold

Enjoy!  :)

EDIT: Updated this post with the new version of the scaffolding system, which seems to no longer cause crashing (from what I was able to test)
 

Daxter_06

New member
Joined
May 9, 2006
Messages
458
Of Gods and Mortals - Alpha v0.08

Added:
- Belief System - currently at 3%
      - Tribute system is making this annoying atm and conditions in the language tend to either not fire or loop with no way to clear.
      - Hoping to get this working a lot better when HandsomeMatt gets that documentation down so I can figure what the problem is.
      - Currently have a minor system in place for Belief that gradually increases your influence ring by a fixed amount per new villager in your towns.

Removed:
- Ship Control and Transportation
        - Removed this due to it not being feasible as gameplay and extremely difficult to code for existing BnW2 systems
- Verdant Epic
       - As nice as this was as a concept, I fear the miracle itself would be too powerful as an epic miracle, there is still a chance the standard miracle could go in but no promises

Bug Fixes:
- Scaffolding System
     - Crashes that would occur when attempting to create new scaffolds before existing ones were released and deleted from the script
- God AI
     - God AI would tend to run off into the ocean when attempting to interrupt its next action through in-game tools (deleting a building etc.)
     - Fixed a few minor issues with altitude stuttering in actions
     - Adjusted the speed of the god hand to allow more realism

I'm sorry there's no video for this version, it's really only adjustments to the existing systems and the belief system is not currently in a state to be shown and the tutorials will be saved for the alpha release. I'm looking to release this in Jan 2015 as Version 0.1, but no promise right now.

Also, island-based lands are still a possibility with the change from impressiveness to influence.

Thanks!  :)
 

FunniestMonkey

New member
Joined
Nov 11, 2013
Messages
52
That's outstanding! Can't wait for your alpha release. It's amazing how far you've progressed, well done  :shocked
 

Daxter_06

New member
Joined
May 9, 2006
Messages
458
Just an update.

Work continues for the January release (Im still hoping).

The run down is:

- Belief System still has issues with conditionals causing infinite looping so it's slowing progress down right now (can't seem to nail the problem still)
- Looking to implement the tiger into creature selection but forgotten where the creature sound files are and how to see their identifiers for scripting
- Looking at the base code for the God AI to see what is obsolete or needs improving and how to merge the scaffolding system into it
- Currently can't seem to make Lumber mills for each town create their own flags for housing/civics or at least detect the building exists which is a little odd
- The Siren Epic now has issues with camera positions and synchronization utilizing the older script on my new system so will need to take a look at that
- Volcano Epic camera positions have seem to have gone out of whack as well
- Looking to add a prerequisite script for the God AI that forces actions based on a town's current situation or the result of a player's action (should help to make them more real and less routine robotic)
 

Blinkin

New member
Joined
Nov 11, 2014
Messages
20
Hello Dexter,

I just registered to say this: wow!
I've been lurking on these forums and on moddb for many years. After 2010 I lost hope for OGaM ever being finished but I loved the progress.
I was looking again for games in the god genre after taking a look at Godus (which is heading in the wrong direction I'm afraid). And suddenly I stumbled upon the moddb page of OGaM seeing dates on the news page that said 2014... I think my eyes popped out of my head when I saw that lol.
So I made this account after all those years of lurking to say you're awesome! I love how you're planning the current work on the mod and I think it's a good idea to say it will be finished soon t/m. I love the updates so far and I wish you all the best with everything!

All the best,
Blinkin
 

Daxter_06

New member
Joined
May 9, 2006
Messages
458
Blinkin said:
Hello Dexter,

I just registered to say this: wow!
I've been lurking on these forums and on moddb for many years. After 2010 I lost hope for OGaM ever being finished but I loved the progress.
I was looking again for games in the god genre after taking a look at Godus (which is heading in the wrong direction I'm afraid). And suddenly I stumbled upon the moddb page of OGaM seeing dates on the news page that said 2014... I think my eyes popped out of my head when I saw that lol.
So I made this account after all those years of lurking to say you're awesome! I love how you're planning the current work on the mod and I think it's a good idea to say it will be finished soon t/m. I love the updates so far and I wish you all the best with everything!

All the best,
Blinkin

Thanks for the support, these kind of positive comments help me to continue progress knowing it will be played eventually. But it also means a larger fan base requires more detailed work and polish and I say thanks for that.  :)
 

Daxter_06

New member
Joined
May 9, 2006
Messages
458
Happy holidays to everyone wherever you are in the world. Another year has gone by.

Quick update ahead of the usual schedule. I'll be away from my PC for a weekend in another state attending a friend's wedding in early January, so this might delay the alpha release. As I stated on the moddb website, keep an eye out for updates regarding the release date as january looms closer.
 

Daxter_06

New member
Joined
May 9, 2006
Messages
458
Hello everyone.

We are in the new year, and with it comes new opportunities. Looking forward, I hope to get as much content into OGaM as possible but unfortunately, it's slow due to only myself working on it. Sometime after the alpha release (noted later on) I will be looking to increase the number of people working on this game by a small amount. Much like I had a team before I abandoned the game previously, I would like to do so again, however this time, I should have a more clear picture of the direction of the game and be able to provide each new team member with a section of the game to work on. More info on that down the road.

Now, for the alpha release. I had planned to release this in January (this month) because of the amount of issues I had with scripting certain elements of the systems currently in place for OGaM, providing a long date away would help suffice to solve as many of the issues as possible. However, this has only lengthened the wait time and I apologize. The latest I am looking to release the alpha is the end of January near my birthday (29th -_^) and will focus on content rather than fixes for then.

I will also do my best to outline exactly what is in the alpha release to let players know what to look out for before making additional comments or suggestions. While most feedback is useful, making sure everyone is on the same level will prevent things like "why can't I progress?", "it's incomplete and not worth playing" etc.

If anyone has any last minute suggestions from what has been shown so far of alpha content, please let me know and I'll do my best to get that in there. Oh, and don't worry, the Tiger will be a playable creature  :;): just be aware that creatures may act a little dumb right now since I have not put much into their "on spawn" behaviour.

Cheers!  :)
 

Blinkin

New member
Joined
Nov 11, 2014
Messages
20
It's a bit late but happy new year!

It all sounds good and reasonable Dexter. Good luck with everything, looking forward to the alpha and what the future will bring.
 

Daxter_06

New member
Joined
May 9, 2006
Messages
458
Hello again. It's now Feb in 2015, just a little late of the release date of the alpha.

Just popping in here to let everyone know, I'll be looking to get things fixed up and ready to go in a few more days. Thanks for following, and I look forward to everyone's feedback on the God AI improvements and the Scaffolding System.

Don't forget to drop your suggestions into this forum for anything you would like to see changed, added or removed from OGaM when you play the alpha.

Cheers  :)
 

FunniestMonkey

New member
Joined
Nov 11, 2013
Messages
52
Daxter said:
Hello again. It's now Feb in 2015, just a little late of the release date of the alpha.

Just popping in here to let everyone know, I'll be looking to get things fixed up and ready to go in a few more days. Thanks for following, and I look forward to everyone's feedback on the God AI improvements and the Scaffolding System.

Don't forget to drop your suggestions into this forum for anything you would like to see changed, added or removed from OGaM when you play the alpha.

Cheers  :)

It's amazing to hear that you'll be releasing it soon, late or not!

It'll be also be equally amazing to have a reason to launch BW2 once again. Things might really start to change again :)

Keep up your amazing efforts!  :grin2
 

Skipper

New member
Joined
Feb 7, 2015
Messages
1
Hi everybody!

I'm new here and in scripting. I can't write how much i love B&W2. I'd like to ask you something. I'd like to be a member of your group to make B&W more greater, I have nice ideas and intrepidity to learn. Please conact me anywhere you want. FB= /szmoki or email and else.

Early thanks for response.

Bye!
 

Blinkin

New member
Joined
Nov 11, 2014
Messages
20
Although my pc is currently broken, I am looking forward to the alpha release. Take all the time you need, I'm sure it will be worth it... and we might be able to spot new bugs. :)
 

FunniestMonkey

New member
Joined
Nov 11, 2013
Messages
52
I'm sure that he's working on it as we speak, or even if not, he's out living life! One man development team, after all.
 

Alkatraz2212

New member
Joined
Feb 12, 2006
Messages
231
My my my. Isn't this a blast from the past as well.

Fear not, kids. Dax disappeared for quite some time a while back, but then resurfaced. I myself am an old man as far as this forum goes (although many are much older than me!) and I remember the earliest days of OGaM.

Dax, hit me up if you ever wanna chat again. It's been a while, man.
 
Top