CybertownRevival / ctr

Full source code for the Cybertown Revival project
17 stars 7 forks source link

Implement jobs system #52

Closed TheMikeSanto closed 11 months ago

TheMikeSanto commented 2 years ago

This issue is for gathering information about jobs in the original CT in order to form a plan to re-implement those systems in CTR.

We're looking for:

TheMikeSanto commented 2 years ago

Pulled from Cybertown FAQ

WHAT JOBS ARE AVAILABLE IN Cybertown?

a) THE MAYOR – He/She runs the community and liaises between the Founders and the City Council via the Founder Liaison and by co-ordinating the activities of the City Council. The Mayor also handles PR functions such as press conferences in the community, heading up community planning meetings and emergency and other meetings of the Council. The Mayor is responsible for seeing that goals set by the Founders are achieved via strategic plans implemented by the City Council. The Mayor has veto power in times of deadlock over voting issues.

b) THE CITY COUNCIL – Runs the strategic plans and proposes new ones to handle specific areas. Each City Council member has a specific area of the community that he heads up – e.g. Community Planning (new areas to be built, current areas to be expanded or fixed), Events and Activities, Community Information Liaison, Visitor and Member Support, Maintaining Order etc. Each Colony Leader is also on the Council. The City Council also proposes and votes on new laws based on the Constitution and appoints new Council Members and co-ordinates the activities of the various town Leaders. The Chief Guide and the Security Chief are on the City Council as is the Founder Liaison.

c) CITY GUIDES – Helping visitors and members – this includes such functions as Community Guides who help by answering questions, helping them find things in the community, giving tours, helping them build homes, manning the message boards, hosting chat sessions and helping with any problems. Many of the City Guides can be found by clicking on “Newcomers Club” in the Jumpgate.

d) WORLD BUILDERS – Helping expand and update the community – this includes such things as building new areas, buildings, attractions, objects – including furniture and avatars – and features to add to the community, helping promote the community, repairing and maintaining the community etc.

e) MAGAZINE STAFF – Acting as an information liaison between the Founder- and the City Council – and the community – this includes such things as providing information and announcements to the community about events, guidelines, news, running the community newspaper, creating a newsletter, letting the community know about Cybertown appearances in the media and letting the Founders get needed information from the community.

f) SECURITY OFFICERS – Maintaining order in the community – this includes such things as checking into the rooms areas and ensuring that people follow the guidelines regarding no profanity and disruptive behaviour and no offensive images in buildings etc. This includes Security Officers being Cybercops, as necessary.

g) EMPLOYMENT CHIEF – Responsible for allocating and filling job positions in the community by helping citizens locate jobs to apply for.

h) CLUB OWNERS – Helping members get to know each other and bringing together members with similar interests – includes such things as organizing and running special-interest Clubs with message boards and chat discussion groups

i) EVENT ICs – pending..might be renamed to something else – Includes such things as creating community events and get-togethers, games, competitions, awards for best houses and other created objects.

Other duties: NEIGHBORHOOD AND BLOCK LEADERS (and their DEPUTIES) – They are responsible for activating new neighborhoods with those responsible (in discussion with the City Councils) and checking the Colonies with all those responsible for the neighborhoods and blocks. Those responsible for neighborhoods: Can activate new blocks within their neighborhood and check those responsible for blocks and everything in their neighborhood. Those responsible for blocks: Can activate new properties within their block and check everything in their blocks. Can check all posted personal images for a property and can accept or deny those images. An important task is to keep the properties clean and to support all members within their block. (Seek information from Employment Chief)

HOW DO I GET A JOB IN CYBERTOWN?

Go to the Job Application Form in the Employment Office and fill in your info and what job you’re applying for. There are Job offers at the bottom of the right frame.

TheMikeSanto commented 2 years ago

WHAT ARE EXPERIENCE POINTS AND CITYCASH, WHAT ARE THEY FOR AND HOW DO I GET THEM?

You automatically earn experience points just by coming to Cybertown (5 per day). If you have a job, you earn 10 points every time you visit. Plus each job earns from 10 to 25 experience points per week depending on the job. You need certain amounts of experience points for certain jobs and to do such things as opening a Club. The experience points system is published here and lists all the information as well as listing the various rewards that will be given as citizens reach certain levels. You start with 1,000 citycash dollars. You automatically earn citycash just by coming to Cybertown (10 per day). If you have a job, you earn 20 cc every time you visit. Plus each job earns from 125 to 350 citycash per week depending on the job. You also get 500 cc for every friend you introduce to Cybertown. You can also earn cc by creating objects and selling them in the Mall. One citizen is now a multi-millionairess from doing this. You can spend your citycash on furniture, pets and other objects for your homes. You can also buy bigger homes with more features. You can also enter the CityCash Game of Chance and win hundreds of thousands of citycash dollars. Soon there will luxury mansions and yachts and other items to spend your citycash on. Plus you can use them to get discounts on real products such as Spazz3D (a program for creating objects).

dburleson commented 2 years ago

@TheMikeSanto

http://www.geocities.ws/dig_reality/rewards.html

Contains a pretty descriptive list of the job exp/cc earnings. apparently does not contain all the jobs.

smile0711 commented 2 years ago

https://web.archive.org/web/20051214051952/http://www.virtualsolarsystem.com/venus/florence/ The top bar allows you to go through and change the date of the archived version. Note how inflation changed the amount of pay over the years.

troydotnz commented 2 years ago

This should help, It's directly exported out of CT's Database for my project

role.sql.txt

TheMikeSanto commented 1 year ago

This page contains useful information about various roles. PDF backup can be found stored here in the archive repo

TheMikeSanto commented 1 year ago

This is the data model I'm planning on implementing:

role_assignment:
  user_id
  role: Role
  scope_place_id
  timestamps

This allows a user to hold multiple roles. The Role field will be an enum in the code, as well as in the database, similar to the TransactionReason enum that exists on transactions.

The data model is set up to serve an API similar to these examples:

canAdminMall(): boolean {
  return user.roles.includes(Admin) || user.roles.includes(MallManager)
}

canAdminColony(colonyId): boolean {
  if (user.roles.includes(Admin) return true;
  return user.roles.includes(ColonyLeader)
  && user.roles.map(role => role.scope_place_id === colonyId);
}

canAdminBlock(blockId): boolean {
  if (user.roles.includes(Admin)) return true;
  if (user has block leader role for blockId) return true;
  if (user has colony leader role for blockId's colony) return true;
}

Along with this, for the first pass I will be implementing a backend admin user interface to allow applying roles to users. Down the road, this page can be extended to be available to users with other roles besides admin, in order to allow users to be able to hire other users.

All data about what roles exist, how much they get paid, etc. will be hard coded.

KovenCT commented 1 year ago
Information about any special UI that job roles had access to

jobs

TheMikeSanto commented 1 year ago
Information about any special UI that job roles had access to

jobs

Wow, this is way less restrictive and simple than the UI I had envisioned. So it seems like the reason people refer to people with roles that have access to this kind of stuff as "tooled members" might be because they all had access to a common set of general admin tools. The tools didn't enforce rules on their job, they were just expected to "behave" and play their roles.

TheMikeSanto commented 1 year ago

image

TheMikeSanto commented 1 year ago

image

dburleson commented 1 year ago

List of todos/thoughts (WIP):

dburleson commented 1 year ago

Templates for access rights are in common/rights.tmpl